(gecko) Allow mods to override order validation

This commit is contained in:
Chris Forbes
2010-11-02 13:30:49 +13:00
parent 4aa1fb4b86
commit 1409016cbd
6 changed files with 47 additions and 12 deletions

View File

@@ -27,14 +27,14 @@ namespace OpenRA.Network
public static void ProcessOrder( OrderManager orderManager, World world, int clientId, Order order )
{
// Drop exploiting orders
if (order.Subject != null && order.Subject.Owner.ClientIndex != clientId)
if (world != null)
{
Game.Debug("Detected exploit order from {0}: {1}".F(clientId, order.OrderString));
return;
if (!world.WorldActor.TraitsImplementing<IValidateOrder>().All(vo =>
vo.OrderValidation(orderManager, world, clientId, order)))
return;
}
switch( order.OrderString )
switch( order.OrderString )
{
case "Chat":
{