| | |
| | | using Core.Utilities; |
| | | using TowerDefense.Towers; |
| | | using Core.Utilities; |
| | | using System; |
| | | using TMPro; |
| | | using UnityEngine; |
| | |
| | | using MoreMountains.NiceVibrations; |
| | | using TowerDefense.Level; |
| | | using KTGMGemClient; |
| | | using TowerDefense.UI.HUD; |
| | | |
| | | /// <summary> |
| | | /// 无尽模式用自己的EndlessUIStart |
| | |
| | | |
| | | //查询是否已经做过了新手引导 |
| | | int guide = PlayerPrefs.GetInt("GemBattleGuide"); |
| | | // if (guide == 0) |
| | | // { |
| | | // Debug.Log("需要进行新手引导"); |
| | | // Pause(); |
| | | GameConfig.IsNewbie = guide == 0; |
| | | |
| | | // uiStartMssk.gameObject.SetActive(false); |
| | | // countDownTextNew.text = ""; |
| | | // countDownTextNew.gameObject.SetActive(false); |
| | | if (guide == 0) |
| | | { |
| | | Pause(); |
| | | uiStartMssk.gameObject.SetActive(false); |
| | | countDownTextNew.text = ""; |
| | | countDownTextNew.gameObject.SetActive(false); |
| | | |
| | | // Instantiate(Resources.Load<GameObject>("UI/Guide/GuidePanel"), this.transform); |
| | | // //bGameStart = true; |
| | | // // 开始关卡 |
| | | // //EndlessLevelManager.instance.StartLevel(); |
| | | // //timeTextNew.gameObject.SetActive(true); |
| | | Instantiate(Resources.Load<GameObject>("UI/Guide/GuidePanel"), this.transform); |
| | | AddGuideEvent(); |
| | | //bGameStart = true; |
| | | // 开始关卡 |
| | | //EndlessLevelManager.instance.StartLevel(); |
| | | //timeTextNew.gameObject.SetActive(true); |
| | | |
| | | // // 开始播放背景音乐. |
| | | // // if (bgMusic != null) |
| | | // // bgMusic.Play(); |
| | | // } |
| | | // 开始播放背景音乐. |
| | | // if (bgMusic != null) |
| | | // bgMusic.Play(); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 添加新手引导事件 |
| | | /// </summary> |
| | | private void AddGuideEvent() |
| | | { |
| | | EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateFireLv2, CreateFireLv2); |
| | | EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateFirstWave, CreateFirstWave); |
| | | EventCenter.Ins.Add((int)KTGMGemClient.EventType.RestartWave, RestartWave); |
| | | EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.AddGold, AddGold); |
| | | EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateWaterLv1, CreateWaterLv1); |
| | | EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateSecondWave, CreateSecondWave); |
| | | EventCenter.Ins.Add((int)KTGMGemClient.EventType.SkillRelease, SkillRelease); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 在(2,3)位置放置一个火元素的塔 |
| | | /// </summary> |
| | | private void CreateFireLv2() |
| | | { |
| | | Tower aTower = EndlessRandomTower.instance.getTowerByName("GrowUpTower"); |
| | | EndlessGameUI.instance.PlaceTowerForce(aTower, new IntVector2(2, 3), 2); |
| | | } |
| | | |
| | | private void CreateFirstWave() |
| | | { |
| | | Restart(); |
| | | EventCenter.Ins.Add((int)KTGMGemClient.EventType.FireTowerChargeEnd, OnFireTowerChargeEnd); |
| | | } |
| | | |
| | | private void OnFireTowerChargeEnd() |
| | | { |
| | | Pause(); |
| | | EndlessLevelManager.instance.PauseWave(); |
| | | EventCenter.Ins.Remove((int)KTGMGemClient.EventType.FireTowerChargeEnd, OnFireTowerChargeEnd); |
| | | EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.ChargingEnd); |
| | | } |
| | | |
| | | private void RestartWave() |
| | | { |
| | | Restart(); |
| | | EndlessLevelManager.instance.RestartWave(); |
| | | } |
| | | |
| | | private void AddGold(int gold) |
| | | { |
| | | EndlessLevelManager.instance.Currency.AddCurrency(gold); |
| | | } |
| | | |
| | | private void CreateWaterLv1() |
| | | { |
| | | Tower aTower = EndlessRandomTower.instance.getTowerByName("CopyCatTower"); |
| | | EndlessGameUI.instance.PlaceTowerForce(aTower, new IntVector2(1, 3), 1); |
| | | } |
| | | |
| | | private void CreateSecondWave() |
| | | { |
| | | |
| | | } |
| | | |
| | | private void SkillRelease() |
| | | { |
| | | |
| | | } |
| | | |
| | |
| | | timeTextNew.text = ConvertTime((float)Math.Ceiling(startTime)); |
| | | } |
| | | |
| | | if (!bFirstLoaded && !bGameStart) |
| | | if (!GameConfig.IsNewbie) |
| | | { |
| | | bFirstLoaded = true; |
| | | secToDo = 4; |
| | | if (!bFirstLoaded && !bGameStart) |
| | | { |
| | | bFirstLoaded = true; |
| | | secToDo = 4; |
| | | } |
| | | |
| | | if (bFirstLoaded && !bGameStart) |
| | | { |
| | | secToDo -= Time.deltaTime; |
| | | countDownTextNew.gameObject.SetActive(true); |
| | | |
| | | if (secToDo >= 3) |
| | | { |
| | | countDownTextNew.text = "3"; |
| | | if (!bVibrate[3]) |
| | | { |
| | | bVibrate[3] = true; |
| | | MMVibrationManager.Haptic(HapticTypes.SoftImpact); |
| | | } |
| | | } |
| | | else if (secToDo >= 2) |
| | | { |
| | | countDownTextNew.text = "2"; |
| | | if (!bVibrate[2]) |
| | | { |
| | | bVibrate[2] = true; |
| | | MMVibrationManager.Haptic(HapticTypes.MediumImpact); |
| | | } |
| | | } |
| | | else if (secToDo >= 1) |
| | | { |
| | | countDownTextNew.text = "1"; |
| | | if (!bVibrate[1]) |
| | | { |
| | | bVibrate[1] = true; |
| | | MMVibrationManager.Haptic(HapticTypes.HeavyImpact); |
| | | } |
| | | } |
| | | else if (secToDo < 1) |
| | | { |
| | | countDownTextNew.text = "GO!"; |
| | | if (!bVibrate[0]) |
| | | { |
| | | bVibrate[0] = true; |
| | | MMVibrationManager.Haptic(HapticTypes.HeavyImpact); |
| | | } |
| | | } |
| | | |
| | | // 开启游戏,且隐藏中间的数字. |
| | | if (secToDo <= 0) |
| | | { |
| | | uiStartMssk.gameObject.SetActive(false); |
| | | countDownTextNew.text = ""; |
| | | countDownTextNew.gameObject.SetActive(false); |
| | | bGameStart = true; |
| | | // 开始关卡 |
| | | EndlessLevelManager.instance.StartLevel(); |
| | | timeTextNew.gameObject.SetActive(true); |
| | | |
| | | // 开始播放背景音乐. |
| | | if (bgMusic != null) |
| | | bgMusic.Play(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (bFirstLoaded && !bGameStart) |
| | | else |
| | | { |
| | | secToDo -= Time.deltaTime; |
| | | countDownTextNew.gameObject.SetActive(true); |
| | | // 新手走的流程 |
| | | if (!bFirstLoaded && !bGameStart) |
| | | bFirstLoaded = true; |
| | | |
| | | if (secToDo >= 3) |
| | | if (bFirstLoaded && !bGameStart) |
| | | { |
| | | countDownTextNew.text = "3"; |
| | | if (!bVibrate[3]) |
| | | { |
| | | bVibrate[3] = true; |
| | | MMVibrationManager.Haptic(HapticTypes.SoftImpact); |
| | | } |
| | | } |
| | | else if (secToDo >= 2) |
| | | { |
| | | countDownTextNew.text = "2"; |
| | | if (!bVibrate[2]) |
| | | { |
| | | bVibrate[2] = true; |
| | | MMVibrationManager.Haptic(HapticTypes.MediumImpact); |
| | | } |
| | | } |
| | | else if (secToDo >= 1) |
| | | { |
| | | countDownTextNew.text = "1"; |
| | | if (!bVibrate[1]) |
| | | { |
| | | bVibrate[1] = true; |
| | | MMVibrationManager.Haptic(HapticTypes.HeavyImpact); |
| | | } |
| | | } |
| | | else if (secToDo < 1) |
| | | { |
| | | countDownTextNew.text = "GO!"; |
| | | if (!bVibrate[0]) |
| | | { |
| | | bVibrate[0] = true; |
| | | MMVibrationManager.Haptic(HapticTypes.HeavyImpact); |
| | | } |
| | | } |
| | | |
| | | // 开启游戏,且隐藏中间的数字. |
| | | if (secToDo <= 0) |
| | | { |
| | | uiStartMssk.gameObject.SetActive(false); |
| | | countDownTextNew.text = ""; |
| | | countDownTextNew.gameObject.SetActive(false); |
| | | bGameStart = true; |
| | | // 开始关卡 |
| | | EndlessLevelManager.instance.StartLevel(); |
| | | timeTextNew.gameObject.SetActive(true); |
| | | |
| | | // 开始播放背景音乐. |
| | | if (bgMusic != null) |
| | | bgMusic.Play(); |
| | | } |