Beispiel #1
0
        private void InitializeDroids()
        {
            CurrentPlayer currentPlayer                   = Service.CurrentPlayer;
            int           num                             = currentPlayer.CurrentDroidsAmount;
            NodeList <SupportViewNode> nodeList           = Service.EntityController.GetNodeList <SupportViewNode>();
            ISupportController         iSupportController = Service.ISupportController;

            for (SupportViewNode supportViewNode = nodeList.Head; supportViewNode != null; supportViewNode = supportViewNode.Next)
            {
                Contract contract = iSupportController.FindCurrentContract(supportViewNode.Entity.Get <BuildingComponent>().BuildingTO.Key);
                if (contract != null)
                {
                    DeliveryType deliveryType = contract.DeliveryType;
                    if (deliveryType == DeliveryType.SwapBuilding || deliveryType == DeliveryType.UpgradeBuilding || deliveryType == DeliveryType.Building)
                    {
                        this.AssignWorkToDroid(supportViewNode.Entity, true, true, false);
                        num--;
                    }
                    else if (deliveryType == DeliveryType.ClearClearable || deliveryType == DeliveryType.Champion)
                    {
                        this.AssignWorkToDroid(supportViewNode.Entity, false, true, false);
                        num--;
                    }
                }
            }
        }
Beispiel #2
0
        private void UpdateAllSupportBuildingTooltips()
        {
            NodeList <SupportViewNode> nodeList = Service.EntityController.GetNodeList <SupportViewNode>();

            for (SupportViewNode supportViewNode = nodeList.Head; supportViewNode != null; supportViewNode = supportViewNode.Next)
            {
                if (supportViewNode.SupportView != null)
                {
                    supportViewNode.SupportView.TeardownElements();
                    this.EnsureBuildingTooltip((SmartEntity)supportViewNode.SupportView.Entity);
                }
            }
        }
Beispiel #3
0
 public override void RemoveFromGame(Game game)
 {
     this.nodeList = this.entityController.GetNodeList <SupportViewNode>();
     for (SupportViewNode supportViewNode = this.nodeList.Head; supportViewNode != null; supportViewNode = supportViewNode.Next)
     {
         if (supportViewNode.SupportView != null)
         {
             supportViewNode.SupportView.TeardownElements();
         }
     }
     this.entityController  = null;
     this.supportController = null;
     this.nodeList          = null;
     this.accumulatedDt     = 0f;
 }
Beispiel #4
0
        protected override void Update(float dt)
        {
            if (this.nodeList == null)
            {
                return;
            }
            bool flag = false;

            this.accumulatedDt += dt;
            if (this.accumulatedDt >= 0.1f)
            {
                flag = true;
                this.accumulatedDt = 0f;
            }
            for (SupportViewNode supportViewNode = this.nodeList.Head; supportViewNode != null; supportViewNode = supportViewNode.Next)
            {
                if (flag)
                {
                    Contract contract = this.supportController.FindCurrentContract(supportViewNode.BuildingComp.BuildingTO.Key);
                    if (contract != null)
                    {
                        int remainingTimeForView = contract.GetRemainingTimeForView();
                        if (remainingTimeForView <= 0)
                        {
                            supportViewNode.SupportView.Refresh();
                        }
                        else
                        {
                            if (this.requireViewRefresh)
                            {
                                supportViewNode.SupportView.Refresh();
                            }
                            supportViewNode.SupportView.UpdateTime(remainingTimeForView, contract.TotalTime, this.requireViewRefresh);
                        }
                    }
                }
                supportViewNode.SupportView.UpdateLocation();
            }
            if (this.requireViewRefresh && flag)
            {
                this.requireViewRefresh = false;
            }
        }
        public override void Execute()
        {
            base.Execute();
            EntityController          entityController = Service.Get <EntityController>();
            NodeList <HealthViewNode> nodeList         = entityController.GetNodeList <HealthViewNode>();

            for (HealthViewNode healthViewNode = nodeList.Head; healthViewNode != null; healthViewNode = healthViewNode.Next)
            {
                healthViewNode.HealthView.SetEnabled(this.show);
                if (this.show)
                {
                    Service.Get <BuildingTooltipController>().EnsureBuildingTooltip((SmartEntity)healthViewNode.Entity);
                }
            }
            NodeList <SupportViewNode> nodeList2 = Service.Get <EntityController>().GetNodeList <SupportViewNode>();

            for (SupportViewNode supportViewNode = nodeList2.Head; supportViewNode != null; supportViewNode = supportViewNode.Next)
            {
                supportViewNode.SupportView.SetEnabled(this.show);
                if (this.show)
                {
                    Service.Get <BuildingTooltipController>().EnsureBuildingTooltip((SmartEntity)supportViewNode.Entity);
                }
            }
            NodeList <GeneratorViewNode> nodeList3 = Service.Get <EntityController>().GetNodeList <GeneratorViewNode>();

            for (GeneratorViewNode generatorViewNode = nodeList3.Head; generatorViewNode != null; generatorViewNode = generatorViewNode.Next)
            {
                if (this.show)
                {
                    generatorViewNode.GeneratorView.SetEnabled(this.show);
                    Service.Get <ICurrencyController>().UpdateGeneratorAccruedCurrency((SmartEntity)generatorViewNode.Entity);
                }
                else
                {
                    generatorViewNode.GeneratorView.ShowCollectButton(false);
                    generatorViewNode.GeneratorView.SetEnabled(this.show);
                }
            }
            this.parent.ChildComplete(this);
        }