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