コード例 #1
0
    public void EmptyConstructionQueueForEmpire(Empire empire)
    {
        IPlayerControllerRepositoryService service   = base.Game.Services.GetService <IPlayerControllerRepositoryService>();
        ConstructionQueue constructionQueueForEmpire = this.GetConstructionQueueForEmpire(empire);

        for (int i = constructionQueueForEmpire.Length - 1; i >= 0; i--)
        {
            Construction             construction = constructionQueueForEmpire.PeekAt(i);
            OrderCancelKaijuResearch order        = new OrderCancelKaijuResearch(empire.Index, construction.GUID);
            service.ActivePlayerController.PostOrder(order);
        }
    }
コード例 #2
0
    private void CancelResearch(Construction construction)
    {
        IGameService service = Services.GetService <IGameService>();

        Diagnostics.Assert(service != null);
        IPlayerControllerRepositoryService service2 = service.Game.Services.GetService <IPlayerControllerRepositoryService>();

        if (service2 != null && construction != null)
        {
            if (this.TechnologyDefinition.HasTechnologyFlag(DepartmentOfScience.ConstructibleElement.TechnologyFlag.KaijuUnlock))
            {
                OrderCancelKaijuResearch order = new OrderCancelKaijuResearch(this.empire.Index, construction.GUID);
                Ticket ticket;
                service2.ActivePlayerController.PostOrder(order, out ticket, new EventHandler <TicketRaisedEventArgs>(this.OnOrderResponse));
            }
            else
            {
                OrderCancelResearch order2 = new OrderCancelResearch(this.empire.Index, construction.GUID);
                Ticket ticket;
                service2.ActivePlayerController.PostOrder(order2, out ticket, new EventHandler <TicketRaisedEventArgs>(this.OnOrderResponse));
            }
        }
    }