public AddButton ( ACBuildingButtonController b ) : void | ||
b | ACBuildingButtonController | |
리턴 | void |
// 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); }
// 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; }