using UnityEngine; using TowerDefense.Level; using TowerDefense.Towers; using TowerDefense.UI.HUD; using UnityEngine.UI; /** * GM * @Author: chenxin * @Date: 2020-11-26 10:10:25 */ namespace KTGMGemClient { public class GM : MonoBehaviour { public GameObject GMPanel; public Text RandomText; public ToggleGroup WoodToggleGroup; private int woodSelectedIndex; public ToggleGroup FireToggleGroup; private int fireSelectedIndex; public ToggleGroup WaterToggleGroup; private int waterSelectedIndex; public Toggle InfiniteSkillToggle; // Start is called before the first frame update private void Start() { GMPanel.SetActive(false); InfiniteSkillToggle.onValueChanged.AddListener((bool select) => { GameConfig.InfiniteSkill = select; if (select) EndlessUIStart.instance.GuideEnergyUp(200); }); InfiniteSkillToggle.isOn = GameConfig.InfiniteSkill; } public void OnClickWood(int index) { GameObject child = WoodToggleGroup.transform.GetChild(index).gameObject; Toggle toggle = child.GetComponent(); if (toggle.isOn) woodSelectedIndex = index; } public void OnClickFire(int index) { GameObject child = FireToggleGroup.transform.GetChild(index).gameObject; Toggle toggle = child.GetComponent(); if (toggle.isOn) fireSelectedIndex = index; } public void OnClickWater(int index) { GameObject child = WaterToggleGroup.transform.GetChild(index).gameObject; Toggle toggle = child.GetComponent(); if (toggle.isOn) waterSelectedIndex = index; } /// /// 打开GM panel /// public void OnClick() { GMPanel.SetActive(true); if (GameConfig.CreateRandomTower) RandomText.text = "合成模式(随机)"; else RandomText.text = "合成模式(定向)"; } /// /// 加1000金币 /// public void OnClick1() { EndlessLevelManager.instance.Currency.AddCurrency(1000); } /// /// 购买水属性塔 /// public void OnClick2() { Tower aTower = EndlessRandomTower.instance.getTowerByName("CopyCatTower"); int level = 0; if (waterSelectedIndex == 0) { if (EndlessUIStart.instance.GameStartTime >= JsonDataCenter.DOUBLE_GEM_TIME) { level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1); } } else level = waterSelectedIndex - 1; EndlessRandomTower.instance.RandomPlaceTower(aTower, level, 0); } /// /// 购买火属性塔 /// public void OnClick3() { Tower aTower = EndlessRandomTower.instance.getTowerByName("GrowUpTower"); int level = 0; if (fireSelectedIndex == 0) { if (EndlessUIStart.instance.GameStartTime >= JsonDataCenter.DOUBLE_GEM_TIME) { level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1); } } else level = waterSelectedIndex - 1; EndlessRandomTower.instance.RandomPlaceTower(aTower, level, 0); } /// /// 购买木属性塔 /// public void OnClick4() { Tower aTower = EndlessRandomTower.instance.getTowerByName("BlinkTower"); int level = 0; if (woodSelectedIndex == 0) { if (EndlessUIStart.instance.GameStartTime >= JsonDataCenter.DOUBLE_GEM_TIME) { level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1); } } else level = woodSelectedIndex - 1; EndlessRandomTower.instance.RandomPlaceTower(aTower, level, 0); } /// /// 切换合成模式 /// public void OnClick5() { GameConfig.CreateRandomTower = !GameConfig.CreateRandomTower; if (GameConfig.CreateRandomTower) RandomText.text = "合成模式(随机)"; else RandomText.text = "合成模式(定向)"; } /// /// 技能直接充满 /// public void OnClick6() { EndlessUIStart.instance.GuideEnergyUp(200); } /// /// 退出 /// public void OnClick7() { GMPanel.SetActive(false); } /// /// 直接开启所有塔位 /// public void OpenAllTowerGrid() { EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.OpenAllTowerGrid); } } }