示例#1
0
    public IEnumerator StartGuidance(Action <bool> onStarted)
    {
        GuidancePart guidance = new GuidancePart();

        yield return(base.StartCoroutine(GuidanceUserData.RequestNavigation(new Action <int[]>(guidance.SetNavigationMessage))));

        GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo info = GuidanceSelector.Select(guidance.GetNavigationMessageInfoList());
        if (info != null)
        {
            GUIManager.ExtBackKeyReady = false;
            RestrictionInput.isDisableBackKeySetting = true;
            yield return(base.StartCoroutine(guidance.InitializeUI()));

            yield return(base.StartCoroutine(guidance.InitializeScript(info.scriptPath)));

            guidance.StartGuidance(base.gameObject, info, new Func <GuidancePart, IEnumerator>(this.EndGuidance));
            this.tutorial = guidance;
        }
        else
        {
            List <GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo> infoList = GuidanceSelector.GetDoneList(guidance.GetNavigationMessageInfoList());
            IEnumerator ie = GuidanceUserData.RequestFinishSave(infoList);
            if (ie != null)
            {
                yield return(base.StartCoroutine(ie));
            }
        }
        if (onStarted != null)
        {
            onStarted(null != info);
        }
        yield break;
    }
示例#2
0
    private IEnumerator EndGuidance(GuidancePart guidance)
    {
        List <GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo> infoList = GuidanceSelector.GetDoneList(guidance.GetNavigationMessageInfoList());

        infoList.Add(guidance.GetNavigationMessageInfo());
        RestrictionInput.StartLoad(RestrictionInput.LoadType.LARGE_IMAGE_MASK_ON);
        yield return(base.StartCoroutine(GuidanceUserData.RequestFinishSave(infoList)));

        RestrictionInput.EndLoad();
        yield break;
    }