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); } } }