Cache IResolveOrder traits on Actor

Avoids looking up all of them each time
an actor is given an order.
This commit is contained in:
reaperrr
2020-09-15 10:55:40 +02:00
committed by Paul Chote
parent a4a409f39b
commit f67b7ad837
2 changed files with 9 additions and 2 deletions

View File

@@ -352,8 +352,7 @@ namespace OpenRA.Network
return;
if (world.OrderValidators.All(vo => vo.OrderValidation(orderManager, world, clientId, order)))
foreach (var t in order.Subject.TraitsImplementing<IResolveOrder>())
t.ResolveOrder(order.Subject, order);
order.Subject.ResolveOrder(order);
}
static void SetOrderLag(OrderManager o)