AlicizaX/Client/Packages/com.alicizax.unity.resource/Runtime/Resource/Callback/LoadSceneCallbacks.cs
2025-04-28 19:45:45 +08:00

95 lines
3.6 KiB
C#

using AlicizaX;
namespace AlicizaX.Resource.Runtime
{
/// <summary>
/// 加载场景回调函数集。
/// </summary>
public sealed class LoadSceneCallbacks
{
private readonly LoadSceneSuccessCallback m_LoadSceneSuccessCallback;
private readonly LoadSceneFailureCallback m_LoadSceneFailureCallback;
private readonly LoadSceneUpdateCallback m_LoadSceneUpdateCallback;
/// <summary>
/// 初始化加载场景回调函数集的新实例。
/// </summary>
/// <param name="loadSceneSuccessCallback">加载场景成功回调函数。</param>
public LoadSceneCallbacks(LoadSceneSuccessCallback loadSceneSuccessCallback)
: this(loadSceneSuccessCallback, null, null)
{
}
/// <summary>
/// 初始化加载场景回调函数集的新实例。
/// </summary>
/// <param name="loadSceneSuccessCallback">加载场景成功回调函数。</param>
/// <param name="loadSceneFailureCallback">加载场景失败回调函数。</param>
public LoadSceneCallbacks(LoadSceneSuccessCallback loadSceneSuccessCallback, LoadSceneFailureCallback loadSceneFailureCallback)
: this(loadSceneSuccessCallback, loadSceneFailureCallback, null)
{
}
/// <summary>
/// 初始化加载场景回调函数集的新实例。
/// </summary>
/// <param name="loadSceneSuccessCallback">加载场景成功回调函数。</param>
/// <param name="loadSceneUpdateCallback">加载场景更新回调函数。</param>
public LoadSceneCallbacks(LoadSceneSuccessCallback loadSceneSuccessCallback, LoadSceneUpdateCallback loadSceneUpdateCallback)
: this(loadSceneSuccessCallback, null, loadSceneUpdateCallback)
{
}
/// <summary>
/// 初始化加载场景回调函数集的新实例。
/// </summary>
/// <param name="loadSceneSuccessCallback">加载场景成功回调函数。</param>
/// <param name="loadSceneFailureCallback">加载场景失败回调函数。</param>
/// <param name="loadSceneUpdateCallback">加载场景更新回调函数。</param>
public LoadSceneCallbacks(LoadSceneSuccessCallback loadSceneSuccessCallback, LoadSceneFailureCallback loadSceneFailureCallback, LoadSceneUpdateCallback loadSceneUpdateCallback)
{
if (loadSceneSuccessCallback == null)
{
throw new GameFrameworkException("Load scene success callback is invalid.");
}
m_LoadSceneSuccessCallback = loadSceneSuccessCallback;
m_LoadSceneFailureCallback = loadSceneFailureCallback;
m_LoadSceneUpdateCallback = loadSceneUpdateCallback;
}
/// <summary>
/// 获取加载场景成功回调函数。
/// </summary>
public LoadSceneSuccessCallback LoadSceneSuccessCallback
{
get
{
return m_LoadSceneSuccessCallback;
}
}
/// <summary>
/// 获取加载场景失败回调函数。
/// </summary>
public LoadSceneFailureCallback LoadSceneFailureCallback
{
get
{
return m_LoadSceneFailureCallback;
}
}
/// <summary>
/// 获取加载场景更新回调函数。
/// </summary>
public LoadSceneUpdateCallback LoadSceneUpdateCallback
{
get
{
return m_LoadSceneUpdateCallback;
}
}
}
}