AddButton() 공개 메소드

public AddButton ( ACBuildingButtonController b ) : void
b ACBuildingButtonController
리턴 void
예제 #1
0
        // Building Addition And Removal
        public RTSBuilding AddBuilding(int type, Vector2 pos)
        {
            // Check For Building Type Existence
            RTSBuildingData data = Race.Buildings[type];

            if (data == null)
            {
                return(null);
            }

            // Check For Building Cap
            if (data.CurrentCount >= data.MaxCount)
            {
                return(null);
            }

            // Check For Capital Cost
            if (data.CapitalCost > Capital)
            {
                return(null);
            }

            // Produce Building
            Capital -= data.CapitalCost;
            data.CurrentCount++;

            RTSBuilding b = new RTSBuilding(this, data, pos);

            b.OnBuildingFinished += OnBuildingFinished;
            b.ActionController    = data.DefaultActionController.CreateInstance <ACBuildingActionController>();
            for (int i = 0; i < data.DefaultButtonControllers.Count; i++)
            {
                b.AddButton(data.DefaultButtonControllers[i].CreateInstance <ACBuildingButtonController>());
            }
            Buildings.Add(b);
            if (OnBuildingSpawn != null)
            {
                OnBuildingSpawn(b);
            }
            return(b);
        }
예제 #2
0
        // Building Addition And Removal
        public RTSBuilding AddBuilding(int type, Vector2 pos)
        {
            // Check For Building Type Existence
            RTSBuildingData data = Race.Buildings[type];
            if(data == null) return null;

            // Check For Building Cap
            if(data.CurrentCount >= data.MaxCount) return null;

            // Check For Capital Cost
            if(data.CapitalCost > Capital) return null;

            // Produce Building
            Capital -= data.CapitalCost;
            data.CurrentCount++;

            RTSBuilding b = new RTSBuilding(this, data, pos);
            b.OnBuildingFinished += OnBuildingFinished;
            b.ActionController = data.DefaultActionController.CreateInstance<ACBuildingActionController>();
            for(int i = 0; i < data.DefaultButtonControllers.Count; i++) {
                b.AddButton(data.DefaultButtonControllers[i].CreateInstance<ACBuildingButtonController>());
            }
            Buildings.Add(b);
            if(OnBuildingSpawn != null)
                OnBuildingSpawn(b);
            return b;
        }