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; }
public static IEnumerator RequestFinishSave(List <GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo> infoList) { IEnumerator result = null; if (infoList != null && 0 < infoList.Count) { int[] doneGuidanceIdList = new int[infoList.Count]; for (int i = 0; i < infoList.Count; i++) { doneGuidanceIdList[i] = infoList[i].navigationMessageId; } GameWebAPI.RequestNV_NavigationMessageReadStatusUpdate request = new GameWebAPI.RequestNV_NavigationMessageReadStatusUpdate { SetSendData = delegate(GameWebAPI.SendDataNV_NavigationMessageReadStatusUpdate param) { param.navigationMessageId = doneGuidanceIdList; } }; result = request.Run(delegate() { GuidanceSelector.DeleteDoneFlag(infoList); }, null, null); } return(result); }
public static List <GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo> GetDoneList(List <GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo> infoList) { List <GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo> list = new List <GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo>(); if (infoList != null && 0 < infoList.Count) { for (int i = 0; i < infoList.Count; i++) { if (GuidanceSelector.IsDone(infoList[i].scriptPath)) { list.Add(infoList[i]); } } } return(list); }
public static GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo Select(List <GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo> infoList) { GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo result = null; if (infoList != null && 0 < infoList.Count) { for (int i = 0; i < infoList.Count; i++) { if (!GuidanceSelector.IsDone(infoList[i].scriptPath)) { result = infoList[i]; break; } } } return(result); }
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; }