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