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; }
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; }