From 452c75675679c44cc39b04bdb7d330d7c5c14d5c Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Tue, 29 Dec 2020 10:48:06 +0800 Subject: [PATCH] 增加多SDK支持。常规使用SDKChannel.KTGM 偶哈游的是空SDK --- Assets/Scripts/Guide/GuidePanelNew.cs | 144 +++++++++++++++++++++++++++++++++-------------- 1 files changed, 101 insertions(+), 43 deletions(-) diff --git a/Assets/Scripts/Guide/GuidePanelNew.cs b/Assets/Scripts/Guide/GuidePanelNew.cs index 3f45779..7779bd8 100644 --- a/Assets/Scripts/Guide/GuidePanelNew.cs +++ b/Assets/Scripts/Guide/GuidePanelNew.cs @@ -25,7 +25,7 @@ Vector2 rimOffset = new Vector2(30, 30);//边框要比按钮大一些 Vector2 towerBuyBtnPos;//动态生成按钮抠图位置 - Vector2 skillBtnPos = new Vector2(459, 44.6f); + Vector2 skillBtnPos = new Vector2(459, 121f); private Image warningImg;//大波敌人来袭提示 @@ -39,9 +39,13 @@ ImageTowerPos towerPos3;//塔位标识 Image tmpMask;//自身的阻挡射线Panel - ParticleSystem finishPS; + //ParticleSystem finishPS; + Button finishBtn; + Image finishImg; + Canvas skillCanvasGroup; void Awake() { + tmpMask = transform.GetComponent<Image>(); tipsUI = transform.Find("Tips").gameObject; tipsUI.transform.SetAsLastSibling();//把tips放在最下面 @@ -91,12 +95,12 @@ wood1 = transform.Find("Image_Wood1").GetComponent<ImageWood>(); wood1.GetComponent<RectTransform>().anchoredPosition *= tmpScale; wood1PS1 = wood1.transform.Find("Mu/Particle System").GetComponent<ParticleSystem>(); - wood1PS2 = wood1.transform.Find("Mu_02/Particle System").GetComponent<ParticleSystem>(); + //wood1PS2 = wood1.transform.Find("Mu_02/Particle System").GetComponent<ParticleSystem>(); wood2 = transform.Find("Image_Wood2").GetComponent<ImageWood2>(); wood2.GetComponent<RectTransform>().anchoredPosition *= tmpScale; wood2PS1 = wood2.transform.Find("Mu/Particle System").GetComponent<ParticleSystem>(); - wood2PS2 = wood2.transform.Find("Mu_02/Particle System").GetComponent<ParticleSystem>(); + //wood2PS2 = wood2.transform.Find("Mu_02/Particle System").GetComponent<ParticleSystem>(); wood1.gameObject.SetActive(false); wood2.gameObject.SetActive(false); @@ -104,13 +108,13 @@ fire = transform.Find("Image_Fire").GetComponent<ImageFire1>(); fire.GetComponent<RectTransform>().anchoredPosition *= tmpScale; firePS1 = fire.transform.Find("Huo/Particle System").GetComponent<ParticleSystem>(); - firePS2 = fire.transform.Find("Huo_02/Particle System").GetComponent<ParticleSystem>(); + //firePS2 = fire.transform.Find("Huo_02/Particle System").GetComponent<ParticleSystem>(); fire.gameObject.SetActive(false); water = transform.Find("Image_Water").GetComponent<ImageWater>(); water.GetComponent<RectTransform>().anchoredPosition *= tmpScale; waterPS1 = water.transform.Find("Shui/Particle System").GetComponent<ParticleSystem>(); - waterPS2 = water.transform.Find("Shui_02/Particle System").GetComponent<ParticleSystem>(); + //waterPS2 = water.transform.Find("Shui_02/Particle System").GetComponent<ParticleSystem>(); water.gameObject.SetActive(false); towerPos = transform.Find("Image_TowerPos").GetComponent<ImageTowerPos>(); @@ -139,7 +143,13 @@ skillBtn = GameObject.Find("UICamera/BottomCanvas/Panel/Energy/FireSkillBg/SkillBtn").GetComponent<Button>(); skillBtn.interactable = false; - finishPS = transform.Find("Effect_UI_YinDaoJieShu/Particle System (3)").GetComponent<ParticleSystem>(); + finishBtn = transform.Find("FinishImageBtn").GetComponent<Button>(); + finishImg = finishBtn.transform.Find("FinishImage").GetComponent<Image>(); + finishImg.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); + finishBtn.onClick.AddListener(OnClickFinish); + finishBtn.gameObject.SetActive(false); + //finishPS = transform.Find("Effect_UI_YinDaoJieShu/Particle System (3)").GetComponent<ParticleSystem>(); + towerBuyBtn.gameObject.SetActive(false); } @@ -186,6 +196,8 @@ { //关闭对话框 SetGuideUI(false); + towerBuyBtn.gameObject.SetActive(true); + //开箱 boxPanel.ChangeType(GuideBoxType.Wood, Step1Finish); } @@ -200,15 +212,15 @@ ImageWood wood1; - ParticleSystem wood1PS1, wood1PS2;//出现的特效 + ParticleSystem wood1PS1;//出现的特效 ImageWood2 wood2;//两个用来合成的mu元素 - ParticleSystem wood2PS1, wood2PS2; + ParticleSystem wood2PS1; ImageFire1 fire;//火元素 - ParticleSystem firePS1, firePS2; + ParticleSystem firePS1; ImageWater water;//水元素 - ParticleSystem waterPS1, waterPS2; + ParticleSystem waterPS1; /// <summary> /// 步骤2:购买---购买---合成---上阵 事件广播结束,不走回调 @@ -217,6 +229,7 @@ { strArray = str; tmpMask.enabled = false; + AddButtonListener(towerBuyBtn, Step2_1); Image btnImg = towerBuyBtn.GetComponent<Image>(); InitRectGuidance(btnImg, 159, 73.5f, Vector2.one); @@ -230,9 +243,6 @@ private void Step2_1() { Wood1Appear(); - RemoveButtonListener(towerBuyBtn); - AddButtonListener(towerBuyBtn, Step2_2); - StartCoroutine(ShowRimTip(strArray[1])); } private void Wood1Appear() @@ -243,7 +253,10 @@ wood1.transform.Find("Image_2").gameObject.SetActive(false); wood1.enabled = false; wood1PS1.Play(); - wood1PS2.Play(); + //wood1PS2.Play(); + RemoveButtonListener(towerBuyBtn); + AddButtonListener(towerBuyBtn, Step2_2); + StartCoroutine(ShowRimTip(strArray[1])); } } @@ -254,26 +267,32 @@ { Wood2Appear(); - offectBackground.SetActive(true); - wood1.enabled = true; - wood2.enabled = true; - ShowDragPath(wood2.GetStartP, wood1.GetRect); - RimWood2(); - image_Tip_Rect.gameObject.SetActive(false); + //StartCoroutine(ShowRimTip(strArray[2])); } private void Wood2Appear() { - wood2.gameObject.SetActive(true); - wood2PS1.Play(); - wood2PS2.Play(); - //fire2.enabled = false; - DestoryButtonListener(towerBuyBtn); - SetRimActive(false); - CloseGuidance(); - tmpMask.enabled = true; + if (!wood2.gameObject.activeSelf) + { + wood2.gameObject.SetActive(true); + wood2PS1.Play(); + // wood2PS2.Play(); + //fire2.enabled = false; + DestoryButtonListener(towerBuyBtn); + towerBuyBtn.gameObject.SetActive(false); + + SetRimActive(false); + CloseGuidance(); + tmpMask.enabled = true; + offectBackground.SetActive(true); + wood1.enabled = true; + wood2.enabled = true; + ShowDragPath(wood2.GetStartP, wood1.GetRect); + RimWood2(); + image_Tip_Rect.gameObject.SetActive(false); + } } @@ -328,7 +347,18 @@ StopShowDragPath(true); } - + /// <summary> + /// 关闭技能X1的显示优先级 + /// </summary> + public void CloseSkillImage() + { + GameObject go1 = GameObject.Find("UICamera/BottomCanvas/Panel/Energy/FireSkillBg/SkillCount1"); + if (go1 != null) + { + skillCanvasGroup = go1.GetComponent<Canvas>(); + skillCanvasGroup.overrideSorting = false; + } + } /// <summary> /// 步骤3 :对话---出兵后杀光---对话---展示火鸡 @@ -351,6 +381,8 @@ { //关闭对话框 SetGuideUI(false); + towerBuyBtn.gameObject.SetActive(true); + //开箱 boxPanel.ChangeType(GuideBoxType.Fire, cb); } @@ -370,7 +402,6 @@ InitRectGuidance(btnImg, 159, 73.5f, Vector2.one); SetRimPos(towerBuyBtn); StartCoroutine(ShowRimTip(strArray[0])); - } /// <summary> @@ -379,8 +410,6 @@ private void Step4_1() { FireAppear(); - RemoveButtonListener(towerBuyBtn); - Step4_2(); } private void FireAppear() @@ -392,6 +421,10 @@ fire.enabled = true; firePS1.Play(); firePS1.Play(); + RemoveButtonListener(towerBuyBtn); + towerBuyBtn.gameObject.SetActive(false); + + Step4_2(); } } @@ -476,6 +509,8 @@ } else if (currentIndex == 2) { + tmpMask.enabled = true; + SetRimActive(false); StopShowDragPath(true); CloseGuidance(); @@ -497,6 +532,8 @@ { //关闭对话框 SetGuideUI(false); + towerBuyBtn.gameObject.SetActive(true); + //开箱 boxPanel.ChangeType(GuideBoxType.Water, cb); } @@ -524,8 +561,6 @@ private void Step6_1() { WaterAppear(); - RemoveButtonListener(towerBuyBtn); - Step6_2(); } private void WaterAppear() @@ -536,7 +571,11 @@ //fire.transform.Find("Image_2").gameObject.SetActive(false); water.enabled = true; waterPS1.Play(); - waterPS2.Play(); + //waterPS2.Play(); + RemoveButtonListener(towerBuyBtn); + towerBuyBtn.gameObject.SetActive(false); + + Step6_2(); } } /// <summary> @@ -579,7 +618,6 @@ { colorCount++; warningImg.DOFade(colorCount % 2, 1.0f).OnComplete(SetWarningColor); - CommonDebugHelper.Debug($"执行了{colorCount}次"); } else { @@ -592,6 +630,8 @@ public void Step7Talk(string[] str, Action ac) { callBack = ac; + GameObject.Find("UICamera/MainUI/BloodUI").SetActive(false); + SetGuideUI(true); StartShowWord(str, GuideEnergyUp); } @@ -603,7 +643,6 @@ /// </summary> public void GuideEnergyUp() { - GameObject.Find("UICamera/MainUI/BloodUI").SetActive(false); EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.GuideEnergyUp, 100); tmpMask.enabled = false; @@ -618,27 +657,46 @@ StartCoroutine(ShowRimTip("释放技能")); } + string[] laterStr; public void SkillRelease(string[] str, Action ac) { + GameObject.Find("UICamera/MainUI/BloodUI").SetActive(true); RemoveButtonListener(skillBtn.gameObject); SetRimActive(false); CloseGuidance(); + callBack = ac; + laterStr = str; + Invoke("LaterShow", 2f); + } + + private void LaterShow() + { SetGuideUI(true); - //StartShowWord(str, ac); + StartShowWord(laterStr, ShowFinishPanel); - charForeach.StartFinalShowWord(str, ac, () => - { - finishPS.Play(); - }); + } + private void ShowFinishPanel() + { + SetGuideUI(false); + //显示引导结束面板,再次点击按钮关闭 + finishBtn.gameObject.SetActive(true); + finishImg.transform.DOScale(Vector3.one, 0.5f); + } + + private void OnClickFinish() + { + callBack?.Invoke(); } public void FinishGuide() { + if (skillCanvasGroup != null) + skillCanvasGroup.overrideSorting = true; towerBuyBtn.gameObject.SetActive(true); } -- Gitblit v1.9.1