Пример #1
0
    public virtual bool OnSubTutorial()
    {
        if (SceneManager.instance.CurTutorial == TutorialType.ALL_CLEAR)
        {
            return(false);
        }

        if (TutoSupportList == null || TutoSupportList.Count <= 0)
        {
            TutoSupportList = UIHelper.FindComponents <TutorialSupport>(transform);

            for (int i = 0; i < TutoSupportList.Count; i++)
            {
                if (TutoSupportList[i].NextTuto != null)
                {
                    continue;
                }

                for (int j = 0; j < TutoSupportList.Count; j++)
                {
                    if (TutoSupportList[j].TutoType != TutoSupportList[i].TutoType)
                    {
                        continue;
                    }
                    else if (TutoSupportList[j].SortId != TutoSupportList[i].SortId + 1)
                    {
                        continue;
                    }

                    TutoSupportList[i].NextTuto = TutoSupportList[j];
                    break;
                }
            }
        }

        if (TutoSupportList.Count <= 0)
        {
            return(false);
        }

        int tutoType = 1;
        int arr      = 0;

        while (tutoType < (int)TutorialType.MAX)
        {
            if (TutoSupportList.Count <= arr)
            {
                arr = 0;
                ++tutoType;
            }
            TutorialSupport support = TutoSupportList[arr++];

            if (support.TutoType != SceneManager.instance.CurTutorial)
            {
                if (!support.ChangeTutoType() || support.TutoType != SceneManager.instance.CurTutorial)
                {
                    continue;
                }
            }
            Quest.MainTutorialInfo tutoLowData = _LowDataMgr.instance.GetLowDataFirstMainTutorial((uint)support.TutoType, 1);
            if (tutoLowData == null || NetData.instance.UserLevel < tutoLowData.OpenLevel)
            {
                continue;
            }

            if (support.OnTutoSupportStart())
            {
                return(true);
            }
        }
        return(false);
    }
    void SetTarget()
    {
        if (Tutorial.ProgressType == 0)//강제진행.
        {
            TargetData data;
            data.Layer      = TutoSupport.gameObject.layer;
            data.Parent     = TutoSupport.transform.parent;
            data.InstanceID = TutoSupport.GetInstanceID();

            TutoSupport.transform.parent = OverDepthTf;
            TutoSupport.RefreshWidgets();

            DataList.Add(data);
        }

        SetTouch("this");
        AddEventDelegate(true, "this", delegate() {
            //TutoSupport.IsOnClick = true;
            TutoSupport.OnClickSupport();

            TouchObj.SetActive(false);
            for (int i = 0; i < DataList.Count; i++)
            {
                if (!TutoSupport.GetInstanceID().Equals(DataList[i].InstanceID))
                {
                    continue;
                }

                TutoSupport.transform.parent = DataList[i].Parent;
                TutoSupport.gameObject.layer = DataList[i].Layer;
                TutoSupport.RefreshWidgets();
                DataList.RemoveAt(i);
                break;
            }

            if (TouchObj.transform.parent != OverDepthTf)
            {
                TouchObj.transform.SetParent(OverDepthTf);
                TouchObj.transform.localPosition = Vector3.zero;
            }

            if (!string.IsNullOrEmpty(TutoSupport.StayPanelPath))
            {
                StartCoroutine(StayPanel(TutoSupport.StayPanelPath, null, () =>
                {
                    if (!NextTutorial && CurType != TutorialType.QUEST)
                    {
                        SceneManager.instance.CurTutorial = CurType;
                    }

                    TutoSupport.ChangeTutoType();
                }, null, 15));
            }
            else if (!NextTutorial && CurType != TutorialType.QUEST)
            {
                SceneManager.instance.CurTutorial = CurType;
            }
            else if (TutoSupport != null)
            {
                TutoSupport.ChangeTutoType();
                TutoSupport.CheckNextTuto();
            }
        });
    }