using Gameplay.HeroSelect; using Gameplay.Net; using PhxhSDK; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Gameplay.FirstTimeFlow { /// /// 新号强制流程管理器 /// public sealed class FirstTimeFlowManager : Singlenton, IInitable { /// /// 开始PV路径 /// private const string START_PV_PATH = "Assets/Video/LevelIntro/LevelIntro_PV.mp4"; /// /// 结束PV路径 /// private const string END_PV_PATH = "Assets/Video/LevelIntro/LevelIntro_PV.mp4"; /// /// 强制流程步骤链表 /// private LinkedList linkStep; /// /// 当前步骤索引 /// private int curIndex; /// /// 是否强制流程中 /// public bool IsFlowing; public void Init() { curIndex = 0; linkStep = new LinkedList(); } public void Release() { } /// /// 开始强制流程 /// public void StartFirstTimeFlow() { int severFlowId = (int)Actor.Instance.Logic.GetCount((uint)NLDPB.LogicID.NoviceProcessId); // 服务器所在强制引导步骤id if (severFlowId < (int)E_FirstTimeFlow.StarVideo) linkStep.AddLast(PlayVideoStep.Create(START_PV_PATH)); // 开始PV if (severFlowId < (int)E_FirstTimeFlow.StoryLevel_1) linkStep.AddLast(EnterStoryLevelStep.Create(300001)); // 剧情1 if (severFlowId < (int)E_FirstTimeFlow.FightLevel_1) linkStep.AddLast(EnterFightLevelStep.Create(100001)); // 特殊战斗1 if(severFlowId < (int)E_FirstTimeFlow.StoryLevel_2) linkStep.AddLast(EnterStoryLevelStep.Create(300002)); // 剧情2 if (severFlowId < (int)E_FirstTimeFlow.SetTeam) linkStep.AddLast(EditTeamStep.Create(100002)); // 特殊战斗2编队 if (severFlowId < (int)E_FirstTimeFlow.StoryLevel_3) linkStep.AddLast(EditTeamStep.Create(300003)); // 剧情3 if (severFlowId < (int)E_FirstTimeFlow.EndVideo) linkStep.AddLast(PlayVideoStep.Create(END_PV_PATH)); // 结束PV } } }