2025-03-27 16:47:05 +08:00
|
|
|
using Gameplay.HeroSelect;
|
2025-03-27 14:46:41 +08:00
|
|
|
using Gameplay.Net;
|
2025-03-27 13:17:19 +08:00
|
|
|
using PhxhSDK;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
namespace Gameplay.FirstTimeFlow
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 新号强制流程管理器
|
|
|
|
|
/// </summary>
|
2025-03-27 14:46:41 +08:00
|
|
|
public sealed class FirstTimeFlowManager : Singlenton<FirstTimeFlowManager>, IInitable
|
2025-03-27 13:17:19 +08:00
|
|
|
{
|
2025-03-27 16:47:05 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 开始PV路径
|
|
|
|
|
/// </summary>
|
|
|
|
|
private const string START_PV_PATH = "Assets/Video/LevelIntro/LevelIntro_PV.mp4";
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 结束PV路径
|
|
|
|
|
/// </summary>
|
|
|
|
|
private const string END_PV_PATH = "Assets/Video/LevelIntro/LevelIntro_PV.mp4";
|
|
|
|
|
|
2025-03-27 14:46:41 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 强制流程步骤链表
|
|
|
|
|
/// </summary>
|
|
|
|
|
private LinkedList<FirstTimeFlowStep> linkStep;
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 当前步骤索引
|
|
|
|
|
/// </summary>
|
|
|
|
|
private int curIndex;
|
2025-03-27 15:26:49 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 是否强制流程中
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool IsFlowing;
|
2025-03-27 13:17:19 +08:00
|
|
|
|
2025-03-27 14:46:41 +08:00
|
|
|
public void Init()
|
|
|
|
|
{
|
|
|
|
|
curIndex = 0;
|
|
|
|
|
linkStep = new LinkedList<FirstTimeFlowStep>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void Release()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 开始强制流程
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void StartFirstTimeFlow()
|
|
|
|
|
{
|
|
|
|
|
int severFlowId = (int)Actor.Instance.Logic.GetCount((uint)NLDPB.LogicID.NoviceProcessId); // 服务器所在强制引导步骤id
|
|
|
|
|
|
|
|
|
|
if (severFlowId < (int)E_FirstTimeFlow.StarVideo)
|
2025-03-27 16:47:05 +08:00
|
|
|
linkStep.AddLast(PlayVideoStep.Create(START_PV_PATH)); // 开始PV
|
2025-03-27 14:46:41 +08:00
|
|
|
|
|
|
|
|
if (severFlowId < (int)E_FirstTimeFlow.StoryLevel_1)
|
2025-03-27 16:47:05 +08:00
|
|
|
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
|
2025-03-27 14:46:41 +08:00
|
|
|
}
|
2025-03-27 13:17:19 +08:00
|
|
|
}
|
|
|
|
|
}
|