using UnityEngine; using TowerDefense.Level; using TowerDefense.Towers; using UnityEngine.UI; using TowerDefense.UI.HUD; /** * GM * @Author: chenxin * @Date: 2020-11-26 10:10:25 */ namespace KTGMGemClient { public class GM : MonoBehaviour { public GameObject GMPanel; public Text RandomText; public Toggle WoodToggle; public InputField WoodInput; public Toggle WaterToggle; public InputField WaterInput; public Toggle FireToggle; public InputField FireInput; 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; } /// /// 打开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 (WaterToggle.isOn) { if (EndlessUIStart.instance.GameStartTime >= JsonDataCenter.DOUBLE_GEM_TIME) { level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1); } } else { int result = 0; int.TryParse(WaterInput.text, out result); level = Mathf.Clamp(result - 1, 0, ElfUpgradeData.MaxTowerLevel - 1); } EndlessRandomTower.instance.RandomPlaceTower(aTower, level, 0); } /// /// 购买火属性塔 /// public void OnClick3() { Tower aTower = EndlessRandomTower.instance.getTowerByName("GrowUpTower"); int level = 0; if (FireToggle.isOn) { if (EndlessUIStart.instance.GameStartTime >= JsonDataCenter.DOUBLE_GEM_TIME) { level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1); } } else { int result = 0; int.TryParse(FireInput.text, out result); level = Mathf.Clamp(result - 1, 0, ElfUpgradeData.MaxTowerLevel - 1); } EndlessRandomTower.instance.RandomPlaceTower(aTower, level, 0); } /// /// 购买木属性塔 /// public void OnClick4() { Tower aTower = EndlessRandomTower.instance.getTowerByName("BlinkTower"); int level = 0; if (WoodToggle.isOn) { if (EndlessUIStart.instance.GameStartTime >= JsonDataCenter.DOUBLE_GEM_TIME) { level = Mathf.Min(EndlessGameUI.instance.MinLevel, 1); } } else { int result = 0; int.TryParse(WoodInput.text, out result); level = Mathf.Clamp(result - 1, 0, ElfUpgradeData.MaxTowerLevel - 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); } } }