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

75 lines
2.3 KiB
C#

using AlicizaX.Event.Runtime;
using AlicizaX.Runtime;
namespace AlicizaX.Scene.Runtime
{
/// <summary>
/// 加载场景成功事件。
/// </summary>
public sealed class LoadSceneSuccessEventArgs : GameEventArgs
{
/// <summary>
/// 加载场景成功事件编号。
/// </summary>
public static readonly string EventId = typeof(LoadSceneSuccessEventArgs).FullName;
/// <summary>
/// 初始化加载场景成功事件的新实例。
/// </summary>
public LoadSceneSuccessEventArgs()
{
SceneAssetName = null;
Duration = 0f;
UserData = null;
}
/// <summary>
/// 获取加载场景成功事件编号。
/// </summary>
public override string Id
{
get { return EventId; }
}
/// <summary>
/// 获取场景资源名称。
/// </summary>
public string SceneAssetName { get; private set; }
/// <summary>
/// 获取加载持续时间。
/// </summary>
public float Duration { get; private set; }
/// <summary>
/// 获取用户自定义数据。
/// </summary>
public object UserData { get; private set; }
/// <summary>
/// 创建加载场景成功事件。
/// </summary>
/// <param name="sceneAssetName">场景资源名称。</param>
/// <param name="duration">加载持续时间。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>创建的加载场景成功事件。</returns>
public static LoadSceneSuccessEventArgs Create(string sceneAssetName, float duration, object userData)
{
LoadSceneSuccessEventArgs loadSceneSuccessEventArgs = ReferencePool.Acquire<LoadSceneSuccessEventArgs>();
loadSceneSuccessEventArgs.SceneAssetName = sceneAssetName;
loadSceneSuccessEventArgs.Duration = duration;
loadSceneSuccessEventArgs.UserData = userData;
return loadSceneSuccessEventArgs;
}
/// <summary>
/// 清理加载场景成功事件。
/// </summary>
public override void Clear()
{
SceneAssetName = null;
Duration = 0f;
UserData = null;
}
}
}