From 24f59b89e9eabcfe948fc0ba304a8dbec2deda14 Mon Sep 17 00:00:00 2001 From: River Jiang <546213258@qq.com> Date: Tue, 27 Oct 2020 14:09:47 +0800 Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master --- Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs | 212 ++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 160 insertions(+), 52 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs b/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs index d81ed8b..ca43164 100644 --- a/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs +++ b/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs @@ -1,4 +1,5 @@ -using Core.Utilities; +using TowerDefense.Towers; +using Core.Utilities; using System; using TMPro; using UnityEngine; @@ -6,6 +7,7 @@ using MoreMountains.NiceVibrations; using TowerDefense.Level; using KTGMGemClient; +using TowerDefense.UI.HUD; /// <summary> /// 无尽模式用自己的EndlessUIStart @@ -60,6 +62,93 @@ EndlessSettlement settlement = SettlementUI.transform.GetChild(0).GetComponent<EndlessSettlement>(); settlement.Init(); SettlementUI.SetActive(false); + + //查询是否已经做过了新手引导 + int guide = PlayerPrefs.GetInt("GemBattleGuide"); + GameConfig.IsNewbie = guide == 0; + + if (GameConfig.IsNewbie) + { + Pause(); + uiStartMssk.gameObject.SetActive(false); + countDownTextNew.text = ""; + countDownTextNew.gameObject.SetActive(false); + + Instantiate(Resources.Load<GameObject>("UI/Guide/GuidePanel"), this.transform); + AddGuideEvent(); + //bGameStart = true; + // 开始关卡 + //EndlessLevelManager.instance.StartLevel(); + //timeTextNew.gameObject.SetActive(true); + + // 开始播放背景音乐. + // 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() + { + } /// <summary> @@ -126,66 +215,85 @@ 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(); } -- Gitblit v1.9.1