Ejemplo n.º 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;
    }
Ejemplo n.º 2
0
    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;
    }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
 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);
             }
         }
     }
 }