public override void Execute() { if (Executor == null) { Issuer.Log.Add(new GenericLogMessage("Attempted to add an order to nonexistent object with ID=" + executor.ID + ". This is probably a game bug.")); } else if (Issuer == Executor.Owner) { if (Order is IConstructionOrder && ((IConstructionOrder)Order).Item != null) { Issuer.Log.Add(new GenericLogMessage("You cannot add a construction order with a prefabricated construction item!")); } else if (Order == null) { Issuer.Log.Add(new GenericLogMessage("Attempted to add a null order to " + Executor + ". This is probably a game bug.")); } else { Executor.AddOrder(Order); } } else { Issuer.Log.Add(new GenericLogMessage(Issuer + " cannot issue commands to " + Executor + " belonging to " + Executor.Owner + "!", Galaxy.Current.TurnNumber)); } }