2024-05-27 15:39:03 +08:00
|
|
|
using cfg.GuideCfg;
|
2024-05-30 13:48:26 +08:00
|
|
|
using Cysharp.Threading.Tasks;
|
2024-05-27 15:39:03 +08:00
|
|
|
using Framework;
|
2024-05-30 19:00:56 +08:00
|
|
|
using Gameplay.Level;
|
2024-05-27 15:39:03 +08:00
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
2024-05-30 13:48:26 +08:00
|
|
|
using UnityEngine.Rendering;
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
namespace Gameplay.Guide
|
2024-05-27 15:39:03 +08:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
2024-05-29 16:36:30 +08:00
|
|
|
/// 新手引导步骤完成基类
|
2024-05-27 15:39:03 +08:00
|
|
|
/// </summary>
|
2024-05-29 16:36:30 +08:00
|
|
|
public abstract class GuideCompleteBase
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 引导完成回调
|
|
|
|
|
/// </summary>
|
2024-05-30 16:49:27 +08:00
|
|
|
private readonly Action completeAction;
|
2024-05-29 16:36:30 +08:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 引导完成类型
|
|
|
|
|
/// </summary>
|
|
|
|
|
public E_GuideCompleteType CompleteType
|
|
|
|
|
{
|
|
|
|
|
get; private set;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public GuideCompleteBase(DataGuideCfg cfg, Action complete)
|
|
|
|
|
{
|
|
|
|
|
CompleteType = cfg.GuideCompleteType;
|
|
|
|
|
completeAction = complete;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 添加监听
|
|
|
|
|
/// </summary>
|
|
|
|
|
public abstract void AddListener();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 移除监听
|
|
|
|
|
/// </summary>
|
|
|
|
|
public abstract void RemoveListener();
|
2024-05-30 16:49:27 +08:00
|
|
|
|
|
|
|
|
public virtual void Complete()
|
|
|
|
|
{
|
|
|
|
|
completeAction?.Invoke();
|
|
|
|
|
}
|
2024-05-27 15:39:03 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2024-05-29 16:36:30 +08:00
|
|
|
/// 播放视频完成
|
2024-05-27 15:39:03 +08:00
|
|
|
/// </summary>
|
2024-05-29 16:36:30 +08:00
|
|
|
internal sealed class PlayVideoComplete : GuideCompleteBase
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 视频路径
|
|
|
|
|
/// </summary>
|
|
|
|
|
private readonly string videoPath;
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public PlayVideoComplete(DataGuideCfg cfg, Action complete) : base(cfg, complete)
|
|
|
|
|
{
|
|
|
|
|
if (cfg.CompleteTypeParams.Length <= 0)
|
|
|
|
|
throw new Exception($"引导类型:{cfg.GuideCompleteType}参数错误");
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
videoPath = cfg.CompleteTypeParams[0];
|
|
|
|
|
}
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public override void AddListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Register(EventManager.EventName.PlayVideoComplete, (Action<string>)OnPlayVideoComplete);
|
|
|
|
|
}
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public override void RemoveListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Unregister(EventManager.EventName.PlayVideoComplete, (Action<string>)OnPlayVideoComplete);
|
|
|
|
|
}
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 播放视频完成回调
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="path"></param>
|
|
|
|
|
private void OnPlayVideoComplete(string path)
|
|
|
|
|
{
|
|
|
|
|
if (path != videoPath)
|
|
|
|
|
return;
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-30 16:49:27 +08:00
|
|
|
Complete();
|
2024-05-29 16:36:30 +08:00
|
|
|
}
|
2024-05-27 15:39:03 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2024-05-29 16:36:30 +08:00
|
|
|
/// 打开UI完成
|
2024-05-27 15:39:03 +08:00
|
|
|
/// </summary>
|
2024-05-29 16:36:30 +08:00
|
|
|
internal sealed class OpenUIComplete : GuideCompleteBase
|
2024-05-27 15:39:03 +08:00
|
|
|
{
|
2024-05-29 16:36:30 +08:00
|
|
|
private readonly string uiName;
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public OpenUIComplete(DataGuideCfg cfg, Action complete) : base(cfg, complete)
|
|
|
|
|
{
|
|
|
|
|
if (cfg.CompleteTypeParams.Length <= 0)
|
|
|
|
|
throw new Exception($"引导类型:{cfg.GuideCompleteType}参数错误");
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
uiName = cfg.CompleteTypeParams[0];
|
|
|
|
|
}
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public override void AddListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Register(EventManager.EventName.UIOpen, (Action<string>)OnComplete);
|
|
|
|
|
}
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public override void RemoveListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Unregister(EventManager.EventName.UIOpen, (Action<string>)OnComplete);
|
|
|
|
|
}
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
private void OnComplete(string uiName)
|
|
|
|
|
{
|
|
|
|
|
if (this.uiName != uiName)
|
|
|
|
|
return;
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-30 16:49:27 +08:00
|
|
|
Complete();
|
2024-05-29 16:36:30 +08:00
|
|
|
}
|
2024-05-27 15:39:03 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 关闭UI完成
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal sealed class CloseUIComplete : GuideCompleteBase
|
2024-05-28 13:40:44 +08:00
|
|
|
{
|
2024-05-29 16:36:30 +08:00
|
|
|
private readonly string uiName;
|
2024-05-28 13:40:44 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public CloseUIComplete(DataGuideCfg cfg, Action complete) : base(cfg, complete)
|
|
|
|
|
{
|
|
|
|
|
if (cfg.CompleteTypeParams.Length <= 0)
|
|
|
|
|
throw new Exception($"引导类型:{cfg.GuideCompleteType}参数错误");
|
2024-05-28 13:40:44 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
uiName = cfg.CompleteTypeParams[0];
|
|
|
|
|
}
|
2024-05-28 13:40:44 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public override void AddListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Register(EventManager.EventName.UIClose, (Action<string>)OnComplete);
|
|
|
|
|
}
|
2024-05-28 13:40:44 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public override void RemoveListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Unregister(EventManager.EventName.UIClose, (Action<string>)OnComplete);
|
|
|
|
|
}
|
2024-05-28 13:40:44 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
private void OnComplete(string uiName)
|
|
|
|
|
{
|
|
|
|
|
if (this.uiName != uiName)
|
|
|
|
|
return;
|
2024-05-28 13:40:44 +08:00
|
|
|
|
2024-05-30 16:49:27 +08:00
|
|
|
Complete();
|
2024-05-29 16:36:30 +08:00
|
|
|
}
|
2024-05-28 13:40:44 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 打开UI并且UI动画播放完成
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal sealed class OpenUIAndAnimComplete : GuideCompleteBase
|
2024-05-27 16:57:51 +08:00
|
|
|
{
|
2024-05-29 16:36:30 +08:00
|
|
|
private readonly string uiName;
|
2024-05-27 16:57:51 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public OpenUIAndAnimComplete(DataGuideCfg cfg, Action complete) : base(cfg, complete)
|
|
|
|
|
{
|
|
|
|
|
if (cfg.CompleteTypeParams.Length <= 0)
|
|
|
|
|
throw new Exception($"引导类型:{cfg.GuideCompleteType}参数错误");
|
2024-05-27 16:57:51 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
uiName = cfg.CompleteTypeParams[0];
|
|
|
|
|
}
|
2024-05-30 15:01:43 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public override void AddListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Register(EventManager.EventName.UIOpenAndAnim, (Action<string>)OnComplete);
|
|
|
|
|
}
|
2024-05-27 16:57:51 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public override void RemoveListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Unregister(EventManager.EventName.UIOpenAndAnim, (Action<string>)OnComplete);
|
|
|
|
|
}
|
2024-05-27 16:57:51 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
private void OnComplete(string uiName)
|
|
|
|
|
{
|
|
|
|
|
if (this.uiName != uiName)
|
|
|
|
|
return;
|
|
|
|
|
|
2024-05-30 16:49:27 +08:00
|
|
|
Complete();
|
2024-05-29 16:36:30 +08:00
|
|
|
}
|
2024-05-27 16:57:51 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 进入关卡完成
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal sealed class EnterLevelComplete : GuideCompleteBase
|
2024-05-27 16:57:51 +08:00
|
|
|
{
|
2024-05-30 13:48:26 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 需要打开的战斗UI数量
|
|
|
|
|
/// </summary>
|
|
|
|
|
private const int OPEN_FIGHT_UI_COUNT = 4;
|
2024-05-29 16:36:30 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 关卡id
|
|
|
|
|
/// </summary>
|
|
|
|
|
private readonly int levelId;
|
2024-05-30 13:48:26 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 需要打开的UICount数量
|
|
|
|
|
/// </summary>
|
|
|
|
|
private int uiOpenCount;
|
2024-05-29 16:36:30 +08:00
|
|
|
|
|
|
|
|
public EnterLevelComplete(DataGuideCfg cfg, Action complete) : base(cfg, complete)
|
|
|
|
|
{
|
2024-05-30 13:48:26 +08:00
|
|
|
uiOpenCount = 0;
|
|
|
|
|
|
2024-05-30 15:01:43 +08:00
|
|
|
if (cfg.CompleteTypeParams.Length <= 0)
|
|
|
|
|
throw new Exception($"引导类型:{cfg.GuideCompleteType},参数错误");
|
2024-05-29 16:36:30 +08:00
|
|
|
|
2024-05-30 15:01:43 +08:00
|
|
|
if (int.TryParse(cfg.CompleteTypeParams[0], out int id))
|
2024-05-29 16:36:30 +08:00
|
|
|
levelId = id;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void AddListener()
|
|
|
|
|
{
|
2024-05-30 13:48:26 +08:00
|
|
|
EventManager.Instance.Register<string>(EventManager.EventName.UIOpen, OnOpenUI);
|
2024-05-29 16:36:30 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void RemoveListener()
|
|
|
|
|
{
|
2024-05-30 13:48:26 +08:00
|
|
|
EventManager.Instance.Unregister<string>(EventManager.EventName.UIOpen, OnOpenUI);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnOpenUI(string uiName)
|
|
|
|
|
{
|
|
|
|
|
if (UINameConst.UI_StartBtn_CMSBtn != uiName &&
|
|
|
|
|
UINameConst.UITeamFight != uiName &&
|
|
|
|
|
UINameConst.UIFightClock != uiName &&
|
|
|
|
|
UINameConst.UIFightScene != uiName)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
++uiOpenCount;
|
2024-05-29 16:36:30 +08:00
|
|
|
|
2024-05-30 13:48:26 +08:00
|
|
|
if (OPEN_FIGHT_UI_COUNT >= uiOpenCount)
|
|
|
|
|
OnComplete(levelId);
|
2024-05-29 16:36:30 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-30 13:48:26 +08:00
|
|
|
private async void OnComplete(int levelId)
|
2024-05-29 16:36:30 +08:00
|
|
|
{
|
|
|
|
|
if (this.levelId != levelId)
|
|
|
|
|
return;
|
|
|
|
|
|
2024-05-30 15:01:43 +08:00
|
|
|
await UniTask.Delay(3000); // 延迟3秒
|
|
|
|
|
UIManager.Instance.CloseWindow(UINameConst.UI_Guide);
|
2024-05-30 16:49:27 +08:00
|
|
|
Complete();
|
2024-05-29 16:36:30 +08:00
|
|
|
}
|
2024-05-27 16:57:51 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 关卡上阵完成
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal sealed class LevelEmbattleComplete : GuideCompleteBase
|
2024-05-27 15:39:03 +08:00
|
|
|
{
|
2024-05-30 15:01:43 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 上阵数量
|
|
|
|
|
/// </summary>
|
|
|
|
|
private readonly int embattleCount;
|
|
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public LevelEmbattleComplete(DataGuideCfg cfg, Action complete) : base(cfg, complete)
|
|
|
|
|
{
|
2024-05-30 15:01:43 +08:00
|
|
|
if (cfg.CompleteTypeParams.Length <= 0)
|
|
|
|
|
throw new Exception($"引导类型:{cfg.GuideCompleteType},参数错误");
|
|
|
|
|
|
|
|
|
|
if (int.TryParse(cfg.CompleteTypeParams[0], out int count))
|
|
|
|
|
embattleCount = count;
|
2024-05-29 16:36:30 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void AddListener()
|
|
|
|
|
{
|
2024-05-30 15:01:43 +08:00
|
|
|
EventManager.Instance.Register(EventManager.EventName.LevelFightStartChange, OnStartChange);
|
2024-05-29 16:36:30 +08:00
|
|
|
}
|
2024-05-27 15:39:03 +08:00
|
|
|
|
2024-05-29 16:36:30 +08:00
|
|
|
public override void RemoveListener()
|
|
|
|
|
{
|
2024-05-30 15:01:43 +08:00
|
|
|
EventManager.Instance.Unregister(EventManager.EventName.LevelFightStartChange, OnStartChange);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnStartChange()
|
|
|
|
|
{
|
|
|
|
|
if (TeamManager.Instance.GetFightList().Count >= embattleCount)
|
2024-05-30 16:49:27 +08:00
|
|
|
Complete();
|
2024-05-30 15:01:43 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 战斗开始完成
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal sealed class FightBeginComplete : GuideCompleteBase
|
|
|
|
|
{
|
|
|
|
|
public FightBeginComplete(DataGuideCfg cfg, Action complete) : base(cfg, complete)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void AddListener()
|
|
|
|
|
{
|
2024-05-30 16:49:27 +08:00
|
|
|
EventManager.Instance.Register(EventManager.EventName.UIPreLevelBattleBegin, Complete);
|
2024-05-30 15:01:43 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void RemoveListener()
|
|
|
|
|
{
|
2024-05-30 16:49:27 +08:00
|
|
|
EventManager.Instance.Unregister(EventManager.EventName.UIPreLevelBattleBegin, Complete);
|
|
|
|
|
}
|
2024-05-30 19:00:56 +08:00
|
|
|
|
|
|
|
|
public override void Complete()
|
|
|
|
|
{
|
|
|
|
|
LevelManager.Instance.CurrentLevel.SetPause(true);
|
|
|
|
|
|
|
|
|
|
base.Complete();
|
|
|
|
|
}
|
2024-05-30 16:49:27 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 教学战斗角色移动完成
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal sealed class FightMoveComplete : GuideCompleteBase
|
|
|
|
|
{
|
|
|
|
|
public FightMoveComplete(DataGuideCfg cfg, Action complete) : base(cfg, complete)
|
|
|
|
|
{
|
2024-05-30 15:01:43 +08:00
|
|
|
}
|
|
|
|
|
|
2024-05-30 16:49:27 +08:00
|
|
|
public override void AddListener()
|
2024-05-30 15:01:43 +08:00
|
|
|
{
|
2024-05-30 19:00:56 +08:00
|
|
|
EventManager.Instance.Register(EventManager.EventName.INFIGHT_OP_SET_MOVEPOS, Complete);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void RemoveListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Unregister(EventManager.EventName.INFIGHT_OP_SET_MOVEPOS, Complete);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void Complete()
|
|
|
|
|
{
|
|
|
|
|
LevelManager.Instance.CurrentLevel.SetPause(false);
|
|
|
|
|
|
|
|
|
|
base.Complete();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 教学战斗角色攻击完成
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal sealed class FightAttackComplete : GuideCompleteBase
|
|
|
|
|
{
|
|
|
|
|
public FightAttackComplete(DataGuideCfg cfg, Action complete) : base(cfg, complete)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void AddListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Register(EventManager.EventName.INFIGHT_OP_SET_TARGET, Complete);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void RemoveListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Unregister(EventManager.EventName.INFIGHT_OP_SET_TARGET, Complete);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void Complete()
|
|
|
|
|
{
|
|
|
|
|
LevelManager.Instance.CurrentLevel.SetPause(false);
|
|
|
|
|
|
|
|
|
|
base.Complete();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 教学战斗角色释放技能完成
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal sealed class FightUseSkillComplete : GuideCompleteBase
|
|
|
|
|
{
|
|
|
|
|
public FightUseSkillComplete(DataGuideCfg cfg, Action complete) : base(cfg, complete)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void AddListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Register(EventManager.EventName.INFIGHT_PLAYER_SKILL_RELEASE, Complete);
|
2024-05-30 16:49:27 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void RemoveListener()
|
|
|
|
|
{
|
2024-05-30 19:00:56 +08:00
|
|
|
EventManager.Instance.Unregister(EventManager.EventName.INFIGHT_PLAYER_SKILL_RELEASE, Complete);
|
2024-05-30 16:49:27 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 等待时间完成
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal sealed class IdleTimeComplete : GuideCompleteBase
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 等待时间
|
|
|
|
|
/// </summary>
|
|
|
|
|
private readonly int time;
|
|
|
|
|
|
|
|
|
|
public IdleTimeComplete(DataGuideCfg cfg, Action complete) : base(cfg, complete)
|
|
|
|
|
{
|
|
|
|
|
if (cfg.CompleteTypeParams.Length <= 0)
|
|
|
|
|
throw new Exception($"引导类型:{cfg.GuideCompleteType},参数错误");
|
|
|
|
|
|
|
|
|
|
if (float.TryParse(cfg.CompleteTypeParams[0], out float t))
|
|
|
|
|
time = (int)(t * 1000f);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void AddListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Register(EventManager.EventName.GuideStepBegin, Complete);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void RemoveListener()
|
|
|
|
|
{
|
|
|
|
|
EventManager.Instance.Unregister(EventManager.EventName.GuideStepBegin, Complete);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override async void Complete()
|
|
|
|
|
{
|
|
|
|
|
await UniTask.Delay(time);
|
|
|
|
|
|
|
|
|
|
base.Complete();
|
2024-05-29 16:36:30 +08:00
|
|
|
}
|
2024-05-27 15:39:03 +08:00
|
|
|
}
|
|
|
|
|
}
|