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 void StartGuidance(GameObject observer, GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo messageInfo, Func <GuidancePart, IEnumerator> finished) { TutorialControlToGame tutorialControlToGame = observer.GetComponent <TutorialControlToGame>(); if (null == tutorialControlToGame) { tutorialControlToGame = observer.AddComponent <TutorialControlToGame>(); } this.tutorialCommandAction = new TutorialCommandAction(this.scriptEngine, this.tutorialUI, tutorialControlToGame); this.gameEngineController = tutorialControlToGame; this.navigationMessageInfo = messageInfo; this.actionFinish = finished; }
private GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo GetNavigationMessage(GameWebAPI.RespDataMA_NavigationMessageMaster master, int id) { GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo result = null; for (int i = 0; i < master.navigationMessageM.Length; i++) { if (master.navigationMessageM[i].navigationMessageId == id) { result = master.navigationMessageM[i]; break; } } return(result); }
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); }
public void SetNavigationMessage(int[] idList) { this.navigationMessageInfoList = new List <GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo>(); if (idList != null) { GameWebAPI.RespDataMA_NavigationMessageMaster navigationMessageMaster = MasterDataMng.Instance().NavigationMessageMaster; for (int i = 0; i < idList.Length; i++) { GameWebAPI.RespDataMA_NavigationMessageMaster.NavigationMessageInfo navigationMessage = this.GetNavigationMessage(navigationMessageMaster, idList[i]); if (navigationMessage != null) { this.navigationMessageInfoList.Add(navigationMessage); } } } }