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

83 lines
2.6 KiB
C#

using AlicizaX.Event.Runtime;
using AlicizaX.Runtime;
using YooAsset;
namespace AlicizaX.Scene.Runtime
{
/// <summary>
/// 加载场景失败事件。
/// </summary>
public sealed class LoadSceneFailureEventArgs : GameEventArgs
{
/// <summary>
/// 加载场景失败事件编号。
/// </summary>
public static readonly string EventId = typeof(LoadSceneFailureEventArgs).FullName;
/// <summary>
/// 初始化加载场景失败事件的新实例。
/// </summary>
public LoadSceneFailureEventArgs()
{
SceneAssetName = null;
ErrorMessage = null;
UserData = null;
}
/// <summary>
/// 获取加载场景失败事件编号。
/// </summary>
public override string Id
{
get { return EventId; }
}
/// <summary>
/// 获取场景资源名称。
/// </summary>
public string SceneAssetName { get; private set; }
/// <summary>
/// 获取错误信息。
/// </summary>
public string ErrorMessage { get; private set; }
/// <summary>
/// 获取用户自定义数据。
/// </summary>
public object UserData { get; private set; }
/// <summary>
/// 获取加载场景状态
/// </summary>
public EOperationStatus Status { get; private set; }
/// <summary>
/// 创建加载场景失败事件。
/// </summary>
/// <param name="sceneAssetName">场景资源名称。</param>
/// <param name="errorMessage">错误信息。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>创建的加载场景失败事件。</returns>
public static LoadSceneFailureEventArgs Create(string sceneAssetName, EOperationStatus status, string errorMessage, object userData)
{
LoadSceneFailureEventArgs loadSceneFailureEventArgs = ReferencePool.Acquire<LoadSceneFailureEventArgs>();
loadSceneFailureEventArgs.SceneAssetName = sceneAssetName;
loadSceneFailureEventArgs.ErrorMessage = errorMessage;
loadSceneFailureEventArgs.UserData = userData;
loadSceneFailureEventArgs.Status = status;
return loadSceneFailureEventArgs;
}
/// <summary>
/// 清理加载场景失败事件。
/// </summary>
public override void Clear()
{
SceneAssetName = null;
ErrorMessage = null;
UserData = null;
Status = EOperationStatus.None;
}
}
}