weixudong
2020-11-19 69e0fea6c92fd4e153d45e5f26ef89baecf0405a
Assets/Scripts/Guide/GuidePanel.cs
@@ -3,6 +3,7 @@
using UnityEngine;
using UnityEngine.UI;
using System;
using KTGMGemClient;
using DG.Tweening;
/// <summary>
/// 新手引导UI脚本
@@ -28,7 +29,7 @@
    Vector2 rimOffset = new Vector2(30, 30);//边框要比按钮大一些
    Image tmpMask;//自身的遮罩
    GameObject offectBackground;//适配需要的黑色背景
    ImageFire1 fire1;
    ImageFire2 fire2;//两个用来合成的火元素
@@ -40,7 +41,7 @@
    ImageTowerPos2 towerPos2;//塔位标识
    GameObject towerBuyBtn;//购买宝石按钮
    Vector2 towerBuyBtnPos;
    Image backgroundImg;//用来接受空白点击事件的图片
    RectTransform dragHandImg;//拖动标识手指
@@ -60,9 +61,18 @@
    {
        tmpMask = GetComponent<Image>();
        tmpMask.enabled = false;
        offectBackground = transform.Find("OffectImage").gameObject;
        offectBackground.SetActive(false);
        backgroundImg = transform.Find("Button").GetComponent<Image>();
        towerBuyBtn = GameObject.Find("BottomUI/TowerBuyBtn");
        towerBuyBtn = GameObject.Find("UICamera/BottomCanvas/Panel/TowerBuyBtn");
        RectTransform tmpTs = towerBuyBtn.GetComponent<RectTransform>();
        RectTransform canvasUI = transform.parent.parent.GetComponent<RectTransform>();
        float tmpOffect = tmpTs.anchoredPosition.y - (canvasUI.sizeDelta.y * 0.5f);
        towerBuyBtnPos = new Vector2(tmpTs.anchoredPosition.x, tmpOffect);
        tipsUI = transform.Find("Tips").gameObject;
        tipsUI.transform.SetAsLastSibling();//把tips放在最下面
@@ -85,29 +95,44 @@
        particle_1 = image_Rim_Rect.transform.Find("Particle System Small").gameObject;
        particle_2 = image_Rim_Rect.transform.Find("Particle System Big").gameObject;
        float a = 0.06666667f;
        float b = canvasUI.localScale.x;
        float tmpScale = a / b;
        //Debug.Log($"记录的比值:{a}   当前Canvas的Scale:{b}  计算得到的比值:{tmpScale}");
        image_Tip_Rect = transform.Find("Image_Tip").GetComponent<RectTransform>();
        text_Tip = image_Tip_Rect.transform.Find("Text").GetComponent<Text>();
        image_SkillRim = transform.Find("Image_SkillRim").GetComponent<Image>();
        image_SkillRim.GetComponent<RectTransform>().anchoredPosition *= tmpScale;
        SetRimActive(false);
        image_SkillRim.gameObject.SetActive(false);
        fire1 = transform.Find("Image_Fire1").GetComponent<ImageFire1>();
        fire1.GetComponent<RectTransform>().anchoredPosition *= tmpScale;
        fire2 = transform.Find("Image_Fire2").GetComponent<ImageFire2>();
        fire2.GetComponent<RectTransform>().anchoredPosition *= tmpScale;
        fire1.gameObject.SetActive(false);
        fire2.gameObject.SetActive(false);
        towerPos = transform.Find("Image_TowerPos").GetComponent<ImageTowerPos>();
        towerPos.GetComponent<RectTransform>().anchoredPosition *= tmpScale;
        towerPos.enabled = false;
        towerPos2 = transform.Find("Image_TowerPos2").GetComponent<ImageTowerPos2>();
        towerPos2.GetComponent<RectTransform>().anchoredPosition *= tmpScale;
        towerPos2.enabled = false;
        water1 = transform.Find("Image_Water").GetComponent<ImageWater>();
        water1.GetComponent<RectTransform>().anchoredPosition *= tmpScale;
        water1.gameObject.SetActive(false);
        skill = transform.Find("Image_Skill").GetComponent<ImageSkill>();
        skill.GetComponent<RectTransform>().anchoredPosition *= tmpScale;
        skill.gameObject.SetActive(false);
        dragHandImg = transform.Find("ImageHand").GetComponent<RectTransform>();
@@ -154,7 +179,7 @@
            SetRimActive(true);
            AddButtonListener(towerBuyBtn, ac);
            Image btnImg = towerBuyBtn.GetComponent<Image>();
            InitRectGuidance(btnImg, 189, 73.5f);
            InitRectGuidance(btnImg, 159, 73.5f);
            SetRimPos(towerBuyBtn);
            //maskObj.ShowImmediately();
@@ -176,6 +201,8 @@
            fire1.gameObject.SetActive(true);
            fire1.transform.Find("Image_2").gameObject.SetActive(false);
            fire1.enabled = false;
            EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.PlayAppearEffect, fire1.transform.position);
        }
    }
    public void Step1_2()
@@ -185,6 +212,8 @@
        DestoryButtonListener(towerBuyBtn);
        SetRimActive(false);
        CloseMask();
        EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.PlayAppearEffect, fire2.transform.position);
        //RemoveButtonListener(towerBuyBtn);
    }
@@ -207,6 +236,7 @@
        {
            tmpMask.enabled = true;
            offectBackground.SetActive(true);
            SetGuideUI(false);
@@ -234,6 +264,7 @@
        if (currentIndex == 0)
        {
            tmpMask.enabled = false;
            offectBackground.SetActive(false);
            SetRimActive(true);
            Image btnImg = transform.Find("Image_TowerPos").GetComponent<Image>();
@@ -306,7 +337,7 @@
            AddButtonListener(towerBuyBtn, ac);
            Image btnImg = towerBuyBtn.GetComponent<Image>();
            InitRectGuidance(btnImg, 189, 73.5f);
            InitRectGuidance(btnImg, 159, 73.5f);
            SetRimPos(towerBuyBtn);
            //maskObj.ShowImmediately();
        }
@@ -406,6 +437,10 @@
        SetRimActive(true);
        RectTransform rt = target.GetComponent<RectTransform>();
        image_Rim_Rect.anchoredPosition = rt.anchoredPosition;
        if (target.gameObject.name == "TowerBuyBtn")
        {
            image_Rim_Rect.anchoredPosition = towerBuyBtnPos;
        }
        image_Rim_Rect.sizeDelta = (rt.sizeDelta * rt.localScale) + rimOffset;
        if (image_Rim_Rect.sizeDelta.x > 200)
        {
@@ -457,7 +492,14 @@
        }
        //maskObj.Init(target);
        //maskObj.ShowImmediately();
        maskObj.InitForCamera(target, x, y);
        if (target.gameObject.name == "TowerBuyBtn")
        {
            maskObj.InitForCamera(target, towerBuyBtnPos, x, y);
        }
        else
        {
            maskObj.InitForCamera(target, x, y);
        }
    }