AlicizaX/Client/Packages/com.alicizax.unity.scene/Runtime/EventArgs/ActiveSceneChangedEventArgs.cs
陈思海 eb38f67131 init
2025-01-23 19:06:48 +08:00

66 lines
2.3 KiB
C#

using AlicizaX.Event.Runtime;
using AlicizaX.Runtime;
namespace AlicizaX.Scene.Runtime
{
/// <summary>
/// 激活场景被改变事件。
/// </summary>
public sealed class ActiveSceneChangedEventArgs : GameEventArgs
{
/// <summary>
/// 激活场景被改变事件编号。
/// </summary>
public static readonly string EventId = typeof(ActiveSceneChangedEventArgs).FullName;
/// <summary>
/// 初始化激活场景被改变事件的新实例。
/// </summary>
public ActiveSceneChangedEventArgs()
{
LastActiveScene = default(UnityEngine.SceneManagement.Scene);
ActiveScene = default(UnityEngine.SceneManagement.Scene);
}
/// <summary>
/// 获取激活场景被改变事件编号。
/// </summary>
public override string Id
{
get { return EventId; }
}
/// <summary>
/// 获取上一个被激活的场景。
/// </summary>
public UnityEngine.SceneManagement.Scene LastActiveScene { get; private set; }
/// <summary>
/// 获取被激活的场景。
/// </summary>
public UnityEngine.SceneManagement.Scene ActiveScene { get; private set; }
/// <summary>
/// 创建激活场景被改变事件。
/// </summary>
/// <param name="lastActiveScene">上一个被激活的场景。</param>
/// <param name="activeScene">被激活的场景。</param>
/// <returns>创建的激活场景被改变事件。</returns>
public static ActiveSceneChangedEventArgs Create(UnityEngine.SceneManagement.Scene lastActiveScene, UnityEngine.SceneManagement.Scene activeScene)
{
ActiveSceneChangedEventArgs activeSceneChangedEventArgs = ReferencePool.Acquire<ActiveSceneChangedEventArgs>();
activeSceneChangedEventArgs.LastActiveScene = lastActiveScene;
activeSceneChangedEventArgs.ActiveScene = activeScene;
return activeSceneChangedEventArgs;
}
/// <summary>
/// 清理激活场景被改变事件。
/// </summary>
public override void Clear()
{
LastActiveScene = default(UnityEngine.SceneManagement.Scene);
ActiveScene = default(UnityEngine.SceneManagement.Scene);
}
}
}