66 lines
2.3 KiB
C#
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);
|
|
}
|
|
}
|
|
} |