private void CleanupRequestUnitMessages() { IEnumerable <EvaluableMessage_UnitRequest> messages = base.AIEntity.AIPlayer.Blackboard.GetMessages <EvaluableMessage_UnitRequest>(BlackboardLayerID.Empire); if (messages != null) { foreach (EvaluableMessage_UnitRequest evaluableMessage_UnitRequest in messages) { if (evaluableMessage_UnitRequest.RequestUnitListMessageID != 0UL) { BlackboardMessage message = base.AIEntity.AIPlayer.Blackboard.GetMessage(evaluableMessage_UnitRequest.RequestUnitListMessageID); if (message == null || message.State == BlackboardMessage.StateValue.Message_Canceled) { evaluableMessage_UnitRequest.Cancel(); } } } } }
public override IEnumerator Load() { yield return(base.Load()); IEnumerable <BlackboardMessage> messages = base.AIEntity.AIPlayer.Blackboard.GetMessages <BlackboardMessage>(BlackboardLayerID.Empire); if (messages != null) { IUnitDesignDatabase agency = this.Empire.GetAgency <DepartmentOfDefense>(); using (IEnumerator <BlackboardMessage> enumerator = messages.GetEnumerator()) { while (enumerator.MoveNext()) { BlackboardMessage blackboardMessage = enumerator.Current; if (blackboardMessage is EvaluableMessageWithUnitDesign) { (blackboardMessage as EvaluableMessageWithUnitDesign).Load(this.Empire, agency); } } yield break; } } yield break; }