Example #1
0
    IEnumerator StorySequence()
    {
        switch (StoryState)
        {
        case State.執行任務:
            while (StoryState == State.執行任務)
            {
                yield return(Lee.StartTalkNpcSequence(new string[] { "WaitPos(Player,X-22.5Y0)", "CheckPlayer(找隊長說話,2)" }));
            }
            break;

        default:
            break;
        }
        yield break;
    }
Example #2
0
    void ChangeStoryState(State _state)
    {
        StoryState = _state;
        //改變state後的一次性處理
        switch (StoryState)
        {
        case State.指派任務:
            Lee.StartTalkNpcSequence(new string[] {
                "CamFree(true)",
                "Wait(0.1)",
                "PlayerControl(2,false)",
                "CamAnim(4.8,X-27.6Y3.3,3)",
                "Wait(4)",
                "CamFree(false)",
                "PlayerControl(2,true)",
                "CheckPlayer(開場,2)"
            });
            break;

        case State.執行任務:
            StartCoroutine(StorySequence());
            Kai.SetAnim("idle");
            Kai.SetMove(false, false, true);
            Kai.StartTalkNpcSequence(new string[] {
                "Move(X8.88Y12.5)",
                "Face(Right)",
                "Wait(0.2)",
                "Anim(Interact)",
                "CheckPlayer(29f碰面,2)",
                "Plot(ChangeState)"
            });
            break;

        case State.回報任務:
            dialGod.CheckDialogComplete();                      //reset dialog complete state
            break;

        case State.結束:
            ChangeScene(false, 3, 0);
            break;

        default:
            break;
        }
    }