protected override void ExecuteNeeds(StaticString context, StaticString pass) { base.ExecuteNeeds(context, pass); ISynchronousJobRepositoryAIHelper service = AIScheduler.Services.GetService <ISynchronousJobRepositoryAIHelper>(); if (this.availableNodes.Count > 0 && this.nodesPerPopulation > 0f) { service.RegisterSynchronousJob(new SynchronousJob(this.SyncrhronousJob_QueueNode)); } List <CreepingNodeBuyoutMessage> list = new List <CreepingNodeBuyoutMessage>(base.AIEntity.AIPlayer.Blackboard.GetMessages <CreepingNodeBuyoutMessage>(BlackboardLayerID.Empire, (CreepingNodeBuyoutMessage match) => match.State != BlackboardMessage.StateValue.Message_Canceled)); for (int i = list.Count - 1; i >= 0; i--) { CreepingNodeBuyoutMessage message = list[i]; if (!this.IsMessageValid(message)) { base.AIEntity.AIPlayer.Blackboard.CancelMessage(message); list.RemoveAt(i); } } if (list.Count > 0) { this.validatedBuyoutMessages = list; service.RegisterSynchronousJob(new SynchronousJob(this.SyncrhronousJob_BuyoutNode)); } }
protected override void ExecuteNeeds(StaticString context, StaticString pass) { base.ExecuteNeeds(context, pass); if (!this.departmentOfPlanification.IsEmpirePlanChoiceTurn) { return; } ISynchronousJobRepositoryAIHelper service = AIScheduler.Services.GetService <ISynchronousJobRepositoryAIHelper>(); service.RegisterSynchronousJob(new SynchronousJob(this.SynchronousJob_ChangeEmpirePlan)); }
protected override void ExecuteNeeds(StaticString context, StaticString pass) { base.ExecuteNeeds(context, pass); int num = base.AIEntity.AIPlayer.Blackboard.GetMessages <EvaluableMessage_VoteForSeasonEffect>(BlackboardLayerID.Empire, (EvaluableMessage_VoteForSeasonEffect match) => match.State == BlackboardMessage.StateValue.Message_InProgress).Count <EvaluableMessage_VoteForSeasonEffect>(); if (num > 0) { ISynchronousJobRepositoryAIHelper service = AIScheduler.Services.GetService <ISynchronousJobRepositoryAIHelper>(); service.RegisterSynchronousJob(new SynchronousJob(this.SynchronousJob_VoteForSeasonEffect)); } }