private void OrderSplitUnit(object sender, TicketRaisedEventArgs e) { if (e.Result == PostOrderResponse.Processed) { DepartmentOfEducation agency = base.Commander.Empire.GetAgency <DepartmentOfEducation>(); if (agency.Heroes.Count > 0) { OrderChangeHeroAssignment order = new OrderChangeHeroAssignment(base.Commander.Empire.Index, agency.Heroes[0].GUID, (e.Order as OrderTransferGarrisonToNewArmy).ArmyGuid); base.Commander.Empire.PlayerControllers.AI.PostOrder(order); } AILayer_ArmyManagement layer = base.Commander.AIPlayer.GetEntity <AIEntity_Empire>().GetLayer <AILayer_ArmyManagement>(); if (layer != null) { layer.AssignJoblessArmies(); } } }
private void OrderSpawnArmy_TicketRaised(object sender, TicketRaisedEventArgs e) { if (e.Result == PostOrderResponse.Processed) { OrderSpawnArmy orderSpawnArmy = e.Order as OrderSpawnArmy; IGameEntity gameEntity; if (this.gameEntityRepositoryService != null && this.gameEntityRepositoryService.TryGetValue(orderSpawnArmy.GameEntityGUID, out gameEntity) && gameEntity != null) { Army army = gameEntity as Army; if (army != null && army.StandardUnits.Count > 0) { OrderTransferResources order = new OrderTransferResources(this.EmpireArmyOwner.Index, this.TransferResourceName, (float)this.TransferResourceAmount, army.StandardUnits[0].GUID); this.EmpireArmyOwner.PlayerControllers.Server.PostOrder(order); } } } }
private void OrderChangeEmpirePlan_TicketRaised(object sender, TicketRaisedEventArgs e) { OrderChangeEmpirePlan orderEmpirePlan = e.Order as OrderChangeEmpirePlan; EvaluableMessage_EmpirePlan evaluableMessage_EmpirePlan = base.AIEntity.AIPlayer.Blackboard.FindFirst <EvaluableMessage_EmpirePlan>(BlackboardLayerID.Empire, (EvaluableMessage_EmpirePlan match) => match.EvaluationState == EvaluableMessage.EvaluableMessageState.Validate && match.EmpirePlanClass == orderEmpirePlan.EmpirePlanClass); if (evaluableMessage_EmpirePlan != null) { if (e.Result == PostOrderResponse.Processed) { evaluableMessage_EmpirePlan.SetObtained(); } else { evaluableMessage_EmpirePlan.SetFailedToObtain(); } } }
private void OnPostOrderGetAIDiplomaticTermsEvaluationResponse(object sender, TicketRaisedEventArgs ticketRaisedEventArgs) { OrderGetAIDiplomaticTermEvaluation orderGetAIDiplomaticTermEvaluation = ticketRaisedEventArgs.Order as OrderGetAIDiplomaticTermEvaluation; if (orderGetAIDiplomaticTermEvaluation == null) { Diagnostics.LogError("Invalid ticket raised event args."); return; } if (ticketRaisedEventArgs.Result == PostOrderResponse.Processed) { Diagnostics.Assert(orderGetAIDiplomaticTermEvaluation.DiplomaticTerms.Length == orderGetAIDiplomaticTermEvaluation.DiplomaticTermEvaluations.Length); this.diplomaticTermsAndEvalutations.Clear(); for (int i = 0; i < orderGetAIDiplomaticTermEvaluation.DiplomaticTerms.Length; i++) { this.diplomaticTermsAndEvalutations.Add(orderGetAIDiplomaticTermEvaluation.DiplomaticTerms[i], orderGetAIDiplomaticTermEvaluation.DiplomaticTermEvaluations[i]); } } }
private void OnOrderResponse(object sender, TicketRaisedEventArgs args) { this.AgeTransform.Enable = true; DepartmentOfScience agency = this.empire.GetAgency <DepartmentOfScience>(); DepartmentOfScience.ConstructibleElement.State technologyState = agency.GetTechnologyState(this.TechnologyDefinition); if (this.TechnologyDefinition.HasTechnologyFlag(DepartmentOfScience.ConstructibleElement.TechnologyFlag.KaijuUnlock)) { IGameService service = Services.GetService <IGameService>(); if (service == null || service.Game == null) { Diagnostics.LogError("GameService or GameService.Game is null"); return; } IKaijuTechsService service2 = service.Game.Services.GetService <IKaijuTechsService>(); technologyState = service2.GetTechnologyState(this.TechnologyDefinition, this.empire); } this.Refresh(this.empire, technologyState); }
private void OrderBribeVillage_TicketRaised(object sender, TicketRaisedEventArgs e) { AICommanderWithObjective commanderObjective = this.aiBehaviorTree.AICommander as AICommanderWithObjective; if (commanderObjective != null) { EvaluableMessage_VillageAction evaluableMessage_VillageAction = this.aiBehaviorTree.AICommander.AIPlayer.Blackboard.FindFirst <EvaluableMessage_VillageAction>(BlackboardLayerID.Empire, (EvaluableMessage_VillageAction match) => match.RegionIndex == commanderObjective.RegionIndex && match.VillageGUID == commanderObjective.SubObjectiveGuid && match.AccountTag == AILayer_AccountManager.MilitaryAccountName); if (evaluableMessage_VillageAction == null) { if (this.ticket.PostOrderResponse != PostOrderResponse.Processed) { evaluableMessage_VillageAction.SetFailedToObtain(); this.aiBehaviorTree.ErrorCode = 31; } else { evaluableMessage_VillageAction.SetObtained(); } } } this.ticket = null; }
private void OrderTerraform_TicketRaised(object sender, TicketRaisedEventArgs e) { AICommander_Terraformation commanderObjective = this.aiBehaviorTree.AICommander as AICommander_Terraformation; if (commanderObjective != null && !string.IsNullOrEmpty(this.DeviceDefinitionName)) { EvaluableMessage_Terraform evaluableMessage_Terraform = commanderObjective.AIPlayer.Blackboard.FindFirst <EvaluableMessage_Terraform>(BlackboardLayerID.Empire, (EvaluableMessage_Terraform match) => match.RegionIndex == commanderObjective.RegionIndex && match.TerraformPosition == commanderObjective.TerraformPosition); if (evaluableMessage_Terraform != null) { if (this.ticket.PostOrderResponse != PostOrderResponse.Processed) { evaluableMessage_Terraform.SetFailedToObtain(); this.aiBehaviorTree.ErrorCode = 37; } else { evaluableMessage_Terraform.SetObtained(); } } } this.orderExecuted = true; }
private void BuyOutPopulation_TicketRaised(object sender, TicketRaisedEventArgs e) { List <EvaluableMessage_PopulationBuyout> list = new List <EvaluableMessage_PopulationBuyout>(this.aiEntityCity.Blackboard.GetMessages <EvaluableMessage_PopulationBuyout>(BlackboardLayerID.City, (EvaluableMessage_PopulationBuyout message) => message.CityGuid == this.aiEntityCity.City.GUID)); if (list.Count == 0) { return; } if (list.Count > 1) { AILayer.LogWarning("There should not be several PopulationBuyout EvaluableMessages for the same city"); } EvaluableMessage_PopulationBuyout evaluableMessage_PopulationBuyout = list[0]; if (e.Result == PostOrderResponse.Processed) { evaluableMessage_PopulationBuyout.SetObtained(); } else { evaluableMessage_PopulationBuyout.SetFailedToObtain(); } }
private void PillarOrder_TicketRaised(object sender, TicketRaisedEventArgs e) { OrderBuyoutAndActivatePillar order = e.Order as OrderBuyoutAndActivatePillar; IEnumerable <EvaluableMessage_PillarNeed> messages = base.AIEntity.AIPlayer.Blackboard.GetMessages <EvaluableMessage_PillarNeed>(BlackboardLayerID.Empire, (EvaluableMessage_PillarNeed match) => match.EvaluationState == EvaluableMessage.EvaluableMessageState.Validate && match.WorldPosition == order.TargetPosition && match.PillarDefinition.Name == order.PillarDefinitionName); if (messages.Any <EvaluableMessage_PillarNeed>()) { using (IEnumerator <EvaluableMessage_PillarNeed> enumerator = messages.GetEnumerator()) { if (enumerator.MoveNext()) { EvaluableMessage_PillarNeed evaluableMessage_PillarNeed = enumerator.Current; if (e.Result != PostOrderResponse.Processed) { evaluableMessage_PillarNeed.SetFailedToObtain(); } else { evaluableMessage_PillarNeed.SetObtained(); } } } } }
private void OnOrderResponse(object sender, TicketRaisedEventArgs args) { this.WorkerGroupsTable.Enable = true; base.NeedRefresh = true; }
private void OnOrderResponse(object sender, TicketRaisedEventArgs args) { base.AgeTransform.Enable = true; this.RefreshContent(); this.RefreshButtons(); }
private void Order_TicketRaised(object sender, TicketRaisedEventArgs e) { this.orderExecuted = true; }
private void OnOrderChangeDiplomaticContractTermsCollectionResponse(object sender, TicketRaisedEventArgs ticketRaisedEventArgs) { if (!(ticketRaisedEventArgs.Order is OrderChangeDiplomaticContractTermsCollection)) { Diagnostics.LogError("Invalid ticket raised event args."); return; } base.NeedRefresh = true; if (ticketRaisedEventArgs.Result == PostOrderResponse.Processed && this.SelectedEmpire.IsControlledByAI) { this.PostOrderGetAIDiplomaticContractEvaluation(); } }
private void OnOrderResponse(object sender, TicketRaisedEventArgs args) { }
private void ArmyAction_TicketRaised(object sender, TicketRaisedEventArgs e) { this.RefreshCanExecute(); }
private void BuyoutAndActivateBooster_TicketRaised(object sender, TicketRaisedEventArgs e) { }
private void OnOrderResponse(object sender, TicketRaisedEventArgs args) { base.NeedRefresh = true; }