コード例 #1
0
    /// <summary>
    /// 觸發事件
    /// </summary>
    void TriggerEvent()
    {
        switch (Events[NextEvent])
        {
        case MilestoneEvent.Monster:
            FightScene.MeetEnemy(MonsterGetter.GetMonsterDicsFromEvent(MyAdventure.MonsterEvent));    //遭遇敵人
            break;

        case MilestoneEvent.Accident:
            CharaDataUI.ShowCharas(false);                                                      //隱藏腳色資料介面
            AccidentUI.CallAccident(EventGetter.GetAccidentInGroup(MyAdventure.AccidentGroup)); //呼叫意外事件
            FightScene.AccidentEvent();                                                         //遭遇意外事件
            break;

        case MilestoneEvent.Investigate:
            CharaDataUI.ShowCharas(false);                                                                  //隱藏腳色資料介面
            InvestigateUI.CallInvestigate(EventGetter.GetInvestigateInGroup(MyAdventure.InvestigateGroup)); //呼叫調查事件
            FightScene.InvestigateEvent();                                                                  //遭遇調查事件
            break;

        case MilestoneEvent.Camp:
            CharaDataUI.ShowCharas(false);                                      //隱藏腳色資料介面
            CampUI.CallCamp(EventGetter.GetCampInGroup(MyAdventure.CampGroup)); //呼叫紮營事件
            FightScene.InvestigateEvent();                                      //遭遇調查事件
            break;
        }
        NextEvent++;
    }
コード例 #2
0
    //事件協程
    static IEnumerator EventCoroutine()
    {
        Go_Scenario.SetActive(true);
        yield return(new WaitForSeconds(1f));

        Go_Feedback.SetActive(true);
        yield return(new WaitForSeconds(2f));

        ShowResultUI(false);          //隱藏結果UI
        CharaDataUI.ShowCharas(true); //顯示腳色資料介面
        //如果有戰鬥就進入戰鬥沒有則繼續冒險
        if (Data.CheckFight())
        {
            FightScene.AmbushEvent(MonsterGetter.GetMonsterDicsFromEvent(Data.MonsterEvent));//埋伏事件
        }
        else
        {
            FightScene.KeepAdventure();//繼續冒險
        }
    }