using UnityEngine; using System.Collections; using GCGame.Table; public class GuideStepNewFunc : GuideStepBase { public string BtnFuncName; public bool _IsExFunc; public int _SoundID; private BtnFunc _CopyBtn; public override void StartGuideStep() { base.StartGuideStep(); InitGuideUIGO(); ShowGuide(); } public override void FinishGuideStep() { GameObject.DestroyImmediate(_CopyGuideGO); base.FinishGuideStep(); } private void InitGuideUIGO() { //if (!FunctionButtonLogic.Instance()) // return; GameObject go = null; if (_IsExFunc) { if (FunctionExLogic.Instance()) { go = FunctionExLogic.Instance().GetBtn(BtnFuncName, true); if (go == null) return; } } else { go = GameObject.Find(BtnFuncName); if (go == null) return; } _GuideUIGO = go.gameObject; _CopyBtn = _GuideUIGO.GetComponent(); if (_SoundID > 0) { GameManager.gameManager.SoundManager.PlaySoundEffect(_SoundID); } } protected override void ShowGuide() { if (_GuideUIGO == null) { FinishGuideStep(); return; } GuideLogic.Instance().SetForceBackActive(true); GuideLogic.Instance().ShowNewFuncInfo(); _CopyGuideGO = GameObject.Instantiate(_GuideUIGO); var redtip = _CopyGuideGO.transform.Find("RedPoint"); if (redtip != null) { redtip.gameObject.SetActive(false); } var scripts = _CopyGuideGO.GetComponentsInChildren(true); foreach (var script in scripts) { script.enabled = false; } //var scripts = copyUIGO.GetComponentsInChildren(); //foreach (var script in scripts) //{ // script.enabled = false; //} _CopyGuideGO.transform.SetParent(GuideLogic.Instance().transform); _CopyGuideGO.transform.position = GuideLogic.Instance()._FuncImage.transform.position; _CopyGuideGO.transform.localScale = Vector3.one; StartCoroutine(MoveNewFunc()); } private IEnumerator MoveNewFunc() { if (_CopyBtn != null) { _CopyBtn.HideImage(); } yield return new WaitForSeconds(2.0f); GuideLogic.Instance()._NewFuncInfo.SetActive(false); if (_IsExFunc) { iTween.MoveTo(_CopyGuideGO, FunctionExLogic.Instance()._OpenBtn.transform.position, 1.0f); } else { iTween.MoveTo(_CopyGuideGO, _GuideUIGO.transform.position, 1.0f); } yield return new WaitForSeconds(1.2f); FinishGuideStep(); if (_CopyBtn != null) { _CopyBtn.ShowImage(); } } }