using AlicizaX.Event.Runtime;
using AlicizaX.Runtime;
namespace AlicizaX.Scene.Runtime
{
///
/// 加载场景更新事件。
///
public sealed class LoadSceneUpdateEventArgs : GameEventArgs
{
///
/// 加载场景更新事件编号。
///
public static readonly string EventId = typeof(LoadSceneUpdateEventArgs).FullName;
///
/// 初始化加载场景更新事件的新实例。
///
public LoadSceneUpdateEventArgs()
{
SceneAssetName = null;
Progress = 0f;
UserData = null;
}
///
/// 获取加载场景更新事件编号。
///
public override string Id
{
get { return EventId; }
}
///
/// 获取场景资源名称。
///
public string SceneAssetName { get; private set; }
///
/// 获取加载场景进度。
///
public float Progress { get; private set; }
///
/// 获取用户自定义数据。
///
public object UserData { get; private set; }
///
/// 创建加载场景更新事件。
///
/// 场景资源名称。
/// 加载场景进度。
/// 用户自定义数据。
/// 创建的加载场景更新事件。
public static LoadSceneUpdateEventArgs Create(string sceneAssetName, float progress, object userData)
{
LoadSceneUpdateEventArgs loadSceneUpdateEventArgs = ReferencePool.Acquire();
loadSceneUpdateEventArgs.SceneAssetName = sceneAssetName;
loadSceneUpdateEventArgs.Progress = progress;
loadSceneUpdateEventArgs.UserData = userData;
return loadSceneUpdateEventArgs;
}
///
/// 清理加载场景更新事件。
///
public override void Clear()
{
SceneAssetName = null;
Progress = 0f;
UserData = null;
}
}
}