/// <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++; }
//事件協程 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();//繼續冒險 } }