From 3c54c3efb141adf11146eff7678e363f1be9cad3 Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Tue, 22 Dec 2020 10:27:30 +0800 Subject: [PATCH] 调整技能等级为1级 调整血量字体 调整合成区域使用动作 --- Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs | 154 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 127 insertions(+), 27 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs b/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs index 4ef0a26..2412758 100644 --- a/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs +++ b/Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs @@ -48,9 +48,13 @@ private bool isPause; public bool beginDragStep = false; - public bool guideThirdWaveStep = false; + public bool guideFourthWaveStep = false; public GameObject darkGroundImg; + + private CanvasGroup canvasGroup; + + public GameObject GMBtn; /// <summary> /// Awake is called when the script instance is being loaded. @@ -58,12 +62,25 @@ protected override void Awake() { base.Awake(); + + if (Application.platform == RuntimePlatform.WindowsEditor || + Application.platform == RuntimePlatform.WindowsPlayer) + { + GameConfig.useSDK = false; + GMBtn.SetActive(true); + } + else + { + GMBtn.SetActive(false); + } //这里为了方便直接使用Endless2D GameObject root = GameObject.Find("ManagerRoot"); if (root == null) { + root = new GameObject("ManagerRoot"); + root.AddComponent<DoNotDestory>(); root.AddComponent<MasterSocket>(); root.AddComponent<TDAA_SDKManager>(); @@ -83,6 +100,7 @@ InitSDK(); bGameStart = false; bFirstLoaded = false; + GameConfig.IsUpgradeTowerLevel = false; GameConfig.CreateRandomTower = true; bVibrate = new bool[4]; @@ -136,17 +154,25 @@ skillSliderVStartP = skillSliderValueRect.anchoredPosition; skillSliderVStartHeight = skillSliderValueRect.sizeDelta; - skillPS1 = transform.Find("Panel/Energy/FireSkillBg/Effect_UI_JiNengTuBiao/03 (9)").GetComponent<ParticleSystem>(); - skillPS2 = transform.Find("Panel/Energy/FireSkillBg/Effect_UI_JiNengTuBiao_02/03 (16)").GetComponent<ParticleSystem>(); + skillPS1 = transform.Find("Panel/Energy/FireSkillBg/Effect_UI_JiNengTuBiao/03").gameObject; + skillPS2 = transform.Find("Panel/Energy/FireSkillBg/Effect_UI_JiNengTuBiao_02/03").gameObject; + skillPS3 = transform.Find("Panel/Energy/FireSkillBg/Effect_UI_JiNengTuBiao_03/03 (8)").gameObject; + + skillPS1.SetActive(false); + skillPS2.SetActive(false); + skillPS3.SetActive(false); transform.Find("Panel/BuffPreviewButton").gameObject.SetActive(false); transform.Find("Panel/SwitchSpeed").gameObject.SetActive(false); + GameConfig.EnergyCount = 0; GameConfig.SkillLevel = 1; //CalculateSkillSliderValue(); transform.Find("Panel/Energy").gameObject.SetActive(false); + + canvasGroup = transform.Find("Panel").GetComponent<CanvasGroup>(); EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.EnergyUp, EnergyUp); EventCenter.Ins.Add((int)KTGMGemClient.EventType.SkillLevelUpBuff, SkillLevelUpBuff); @@ -156,19 +182,35 @@ private void CheckIsNewbie() { + int guide = PlayerPrefs.GetInt("GemBattleGuide"); + GameConfig.IsNewbie = guide == 0; + + //GameConfig.IsNewbie = true; + + GameConfig.IsNewbieStart = GameConfig.IsNewbie; + if (GameConfig.IsNewbie) { + EndlessRandomTower.instance.SetCountDown(false); + Debug.Log("开始新手引导"); GameConfig.CanDragTower = false; Pause(); HideUIMask(); countDownTextNew.text = ""; countDownTextNew.gameObject.SetActive(false); - - GameObject guideObj = Instantiate(Resources.Load<GameObject>("UI/Guide/GuidePanel"), transform.Find("Panel")); + GameObject prefab = Resources.Load<GameObject>("UI/Guide/GuidePanel"); + GameObject guideObj = Instantiate(prefab, transform.Find("Panel")); guideObj.GetComponent<RectTransform>().offsetMin += tmpOffect; AddGuideEvent(); } + } + + public void GameOver() + { + canvasGroup.alpha = 0; + canvasGroup.interactable = false; + GuideEnergyUp(0); } /// <summary> @@ -183,6 +225,8 @@ { transform.Find("Panel/BuffPreviewButton").gameObject.SetActive(true); transform.Find("Panel/SwitchSpeed").gameObject.SetActive(true); + // cx test + // GMBtn.SetActive(true); } fireSkillCost = JsonDataCenter.GetSkillLevelInfo(fireSkillID, GameConfig.SkillLevel).cost; @@ -231,14 +275,18 @@ /// </summary> private void AddGuideEvent() { - EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateFireLv2, CreateFireLv2); + EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateWoodLv2, CreateWoodLv2); 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.CreateFireLv1, CreateFireLv1); EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateWaterLv1, CreateWaterLv1); + EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateSecondWave, CreateSecondWave); EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateThirdWave, CreateThirdWave); - EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateThirdWaveDone, CreateThirdWaveDone); + + EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateFourthWave, CreateFourthWave); + EventCenter.Ins.Add((int)KTGMGemClient.EventType.CreateFourthWaveDone, CreateFourthWaveDone); EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.GuideEnergyUp, GuideEnergyUp); @@ -252,9 +300,13 @@ /// <summary> /// 在(2,3)位置放置一个火元素的塔 /// </summary> - private void CreateFireLv2() + private void CreateWoodLv2() { - Tower aTower = EndlessRandomTower.instance.getTowerByName("GrowUpTower"); + //GrowUpTower 火 + //BlinkTower 木 + //CopyCatTower 水 + + Tower aTower = EndlessRandomTower.instance.getTowerByName("BlinkTower"); EndlessGameUI.instance.PlaceTowerForce(aTower, new IntVector2(2, 3), 2); } @@ -264,7 +316,7 @@ private void CreateFirstWave() { Restart(); - EventCenter.Ins.Add((int)KTGMGemClient.EventType.FireTowerChargeEnd, OnFireTowerChargeEnd); + //EventCenter.Ins.Add((int)KTGMGemClient.EventType.FireTowerChargeEnd, OnFireTowerChargeEnd); } /// <summary> @@ -274,8 +326,8 @@ { Pause(); EndlessLevelManager.instance.PauseWave(); - EventCenter.Ins.Remove((int)KTGMGemClient.EventType.FireTowerChargeEnd, OnFireTowerChargeEnd); - EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.ChargingEnd); + //EventCenter.Ins.Remove((int)KTGMGemClient.EventType.FireTowerChargeEnd, OnFireTowerChargeEnd); + //EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.ChargingEnd); } /// <summary> @@ -315,10 +367,19 @@ /// <summary> /// 在攻击位置上创建一个1级的木塔 /// </summary> + private void CreateFireLv1() + { + Tower aTower = EndlessRandomTower.instance.getTowerByName("GrowUpTower"); + EndlessGameUI.instance.PlaceTowerForce(aTower, new IntVector2(1, 3), 1); + } + + /// <summary> + /// 在攻击位置上创建一个1级的木塔 + /// </summary> private void CreateWaterLv1() { - Tower aTower = EndlessRandomTower.instance.getTowerByName("BlinkTower"); - EndlessGameUI.instance.PlaceTowerForce(aTower, new IntVector2(1, 3), 1); + Tower aTower = EndlessRandomTower.instance.getTowerByName("CopyCatTower"); + EndlessGameUI.instance.PlaceTowerForce(aTower, new IntVector2(3, 3), 1); } /// <summary> @@ -339,18 +400,26 @@ EndlessLevelManager.instance.NewbieUpdateLevel(); beginDragStep = false; - guideThirdWaveStep = true; } /// <summary> /// 第三关出兵完毕,暂停出兵 /// </summary> - private void CreateThirdWaveDone() + private void CreateFourthWaveDone() { EndlessLevelManager.instance.PauseWave(); } + /// <summary> + /// 开始第四关 + /// </summary> + private void CreateFourthWave() + { + CommonDebugHelper.Debug($"开始下一关"); + EndlessLevelManager.instance.NewbieUpdateLevel(); + guideFourthWaveStep = true; + } /// <summary> @@ -437,13 +506,21 @@ private Color disColor = new Color(1.0f, 1.0f, 1.0f, 0); private Text fireSkillLevelText; private Image fireSkillBgImg; - private ParticleSystem skillPS1, skillPS2; + private GameObject skillPS1, skillPS2, skillPS3; /// <summary> /// 点击火技能 /// </summary> private void OnClickFireSkillBtn() { + if (GameConfig.InfiniteSkill) + { + GuideEnergyUp(200); + EndlessWaveLineManager.instance.PlayAllWaveLineEffect(); + AgentInsManager.instance.ExecAllWavelineAttack(fireSkillID, GameConfig.SkillLevel, false); + return; + } + //Debug.Log("释放了火技能:" + GameConfig.EnergyCount + " fireSkillCost:" + fireSkillCost); if (GameConfig.EnergyCount >= fireSkillCost) { @@ -453,6 +530,10 @@ EndlessWaveLineManager.instance.PlayAllWaveLineEffect(); AgentInsManager.instance.ExecAllWavelineAttack(fireSkillID, GameConfig.SkillLevel, false); ++GameConfig.EndlessPortUseSkillTowerCount; + } + else + { + AudioSourceManager.Ins.Play(AudioEnum.UIDisable); } } @@ -478,34 +559,44 @@ { if (GameConfig.EnergyCount == energyMax) { - - Debug.Log("能量已满"); + //Debug.Log("能量已满"); if (fireSkillBgImg.color != disColor) { fireSkillBgImg.color = disColor; } - skillPS1.Play(); - skillPS2.Play(); + if (!skillPS1.activeSelf) skillPS1.SetActive(true); + if (!skillPS2.activeSelf) skillPS2.SetActive(true); + if (skillPS3.activeSelf) skillPS3.SetActive(false); + //skillPS1.Play(); + //skillPS2.Play(); } else { - Debug.Log("能量达到一次使用"); + //Debug.Log("能量达到一次使用"); if (fireSkillBgImg.color != normalColor) { fireSkillBgImg.color = normalColor; } - if (skillPS1.isPlaying) skillPS1.Stop(); - if (!skillPS2.isPlaying) skillPS2.Play(); + if (skillPS1.activeSelf) skillPS1.SetActive(false); + if (!skillPS2.activeSelf) skillPS2.SetActive(true); + if (!skillPS3.activeSelf) skillPS3.SetActive(true); + + //if (skillPS1.isPlaying) skillPS1.Stop(); + //if (!skillPS2.isPlaying) skillPS2.Play(); } } else { + //Debug.Log("能量不够"); if (fireSkillBgImg.color != normalColor) { fireSkillBgImg.color = normalColor; } - if (skillPS1.isPlaying) skillPS1.Stop(); - if (skillPS2.isPlaying) skillPS2.Stop(); + if (skillPS1.activeSelf) skillPS1.SetActive(false); + if (skillPS2.activeSelf) skillPS2.SetActive(false); + if (skillPS3.activeSelf) skillPS3.SetActive(false); + // if (skillPS1.isPlaying) skillPS1.Stop(); + // if (skillPS2.isPlaying) skillPS2.Stop(); } } @@ -536,7 +627,7 @@ fireSkillCost = JsonDataCenter.GetSkillLevelInfo(fireSkillID, GameConfig.SkillLevel).cost; bombSkillCost = JsonDataCenter.GetSkillLevelInfo(bombSkillID, GameConfig.SkillLevel).cost; //Debug.Log($"技能最高5级,当前技能等级:{GameConfig.SkillLevel} fireSkillCost:{fireSkillCost} "); - fireSkillLevelText.text = "Lv." + GameConfig.SkillLevel; + fireSkillLevelText.text = GameConfig.SkillLevel + "级"; } } @@ -557,6 +648,8 @@ public bool IsGameRunning { get { return !isPause; } } + private bool isUpgradeTowerLevel; + // Update is called once per frame void Update() { @@ -575,6 +668,13 @@ if (bGameStart) { startTime += Time.deltaTime; + + // if (!isUpgradeTowerLevel && startTime >= JsonDataCenter.DOUBLE_GEM_TIME) + // { + // EndlessRandomTower.instance.UpdateDescDisplay(); + // isUpgradeTowerLevel = true; + // } + timeTextNew.text = ConvertTime((float)Math.Ceiling(startTime)); } -- Gitblit v1.9.1