初始化仓库

This commit is contained in:
SepComet
2026-02-08 17:08:52 +08:00
commit 8763955323
1132 changed files with 285326 additions and 0 deletions
@@ -0,0 +1,408 @@
//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
// Homepage: https://gameframework.cn/
// Feedback: mailto:ellan@gameframework.cn
//------------------------------------------------------------
using GameFramework;
using GameFramework.Config;
using GameFramework.Resource;
using UnityEngine;
namespace UnityGameFramework.Runtime
{
/// <summary>
/// 全局配置组件。
/// </summary>
[DisallowMultipleComponent]
[AddComponentMenu("Game Framework/Config")]
public sealed class ConfigComponent : GameFrameworkComponent
{
private const int DefaultPriority = 0;
private IConfigManager m_ConfigManager = null;
private EventComponent m_EventComponent = null;
[SerializeField]
private bool m_EnableLoadConfigUpdateEvent = false;
[SerializeField]
private bool m_EnableLoadConfigDependencyAssetEvent = false;
[SerializeField]
private string m_ConfigHelperTypeName = "UnityGameFramework.Runtime.DefaultConfigHelper";
[SerializeField]
private ConfigHelperBase m_CustomConfigHelper = null;
[SerializeField]
private int m_CachedBytesSize = 0;
/// <summary>
/// 获取全局配置项数量。
/// </summary>
public int Count
{
get
{
return m_ConfigManager.Count;
}
}
/// <summary>
/// 获取缓冲二进制流的大小。
/// </summary>
public int CachedBytesSize
{
get
{
return m_ConfigManager.CachedBytesSize;
}
}
/// <summary>
/// 游戏框架组件初始化。
/// </summary>
protected override void Awake()
{
base.Awake();
m_ConfigManager = GameFrameworkEntry.GetModule<IConfigManager>();
if (m_ConfigManager == null)
{
Log.Fatal("Config manager is invalid.");
return;
}
m_ConfigManager.ReadDataSuccess += OnReadDataSuccess;
m_ConfigManager.ReadDataFailure += OnReadDataFailure;
if (m_EnableLoadConfigUpdateEvent)
{
m_ConfigManager.ReadDataUpdate += OnReadDataUpdate;
}
if (m_EnableLoadConfigDependencyAssetEvent)
{
m_ConfigManager.ReadDataDependencyAsset += OnReadDataDependencyAsset;
}
}
private void Start()
{
BaseComponent baseComponent = GameEntry.GetComponent<BaseComponent>();
if (baseComponent == null)
{
Log.Fatal("Base component is invalid.");
return;
}
m_EventComponent = GameEntry.GetComponent<EventComponent>();
if (m_EventComponent == null)
{
Log.Fatal("Event component is invalid.");
return;
}
if (baseComponent.EditorResourceMode)
{
m_ConfigManager.SetResourceManager(baseComponent.EditorResourceHelper);
}
else
{
m_ConfigManager.SetResourceManager(GameFrameworkEntry.GetModule<IResourceManager>());
}
ConfigHelperBase configHelper = Helper.CreateHelper(m_ConfigHelperTypeName, m_CustomConfigHelper);
if (configHelper == null)
{
Log.Error("Can not create config helper.");
return;
}
configHelper.name = "Config Helper";
Transform transform = configHelper.transform;
transform.SetParent(this.transform);
transform.localScale = Vector3.one;
m_ConfigManager.SetDataProviderHelper(configHelper);
m_ConfigManager.SetConfigHelper(configHelper);
if (m_CachedBytesSize > 0)
{
EnsureCachedBytesSize(m_CachedBytesSize);
}
}
/// <summary>
/// 确保二进制流缓存分配足够大小的内存并缓存。
/// </summary>
/// <param name="ensureSize">要确保二进制流缓存分配内存的大小。</param>
public void EnsureCachedBytesSize(int ensureSize)
{
m_ConfigManager.EnsureCachedBytesSize(ensureSize);
}
/// <summary>
/// 释放缓存的二进制流。
/// </summary>
public void FreeCachedBytes()
{
m_ConfigManager.FreeCachedBytes();
}
/// <summary>
/// 读取全局配置。
/// </summary>
/// <param name="configAssetName">全局配置资源名称。</param>
public void ReadData(string configAssetName)
{
m_ConfigManager.ReadData(configAssetName);
}
/// <summary>
/// 读取全局配置。
/// </summary>
/// <param name="configAssetName">全局配置资源名称。</param>
/// <param name="priority">加载全局配置资源的优先级。</param>
public void ReadData(string configAssetName, int priority)
{
m_ConfigManager.ReadData(configAssetName, priority);
}
/// <summary>
/// 读取全局配置。
/// </summary>
/// <param name="configAssetName">全局配置资源名称。</param>
/// <param name="userData">用户自定义数据。</param>
public void ReadData(string configAssetName, object userData)
{
m_ConfigManager.ReadData(configAssetName, userData);
}
/// <summary>
/// 读取全局配置。
/// </summary>
/// <param name="configAssetName">全局配置资源名称。</param>
/// <param name="priority">加载全局配置资源的优先级。</param>
/// <param name="userData">用户自定义数据。</param>
public void ReadData(string configAssetName, int priority, object userData)
{
m_ConfigManager.ReadData(configAssetName, priority, userData);
}
/// <summary>
/// 解析全局配置。
/// </summary>
/// <param name="configString">要解析的全局配置字符串。</param>
/// <returns>是否解析全局配置成功。</returns>
public bool ParseData(string configString)
{
return m_ConfigManager.ParseData(configString);
}
/// <summary>
/// 解析全局配置。
/// </summary>
/// <param name="configString">要解析的全局配置字符串。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>是否解析全局配置成功。</returns>
public bool ParseData(string configString, object userData)
{
return m_ConfigManager.ParseData(configString, userData);
}
/// <summary>
/// 解析全局配置。
/// </summary>
/// <param name="configBytes">要解析的全局配置二进制流。</param>
/// <returns>是否解析全局配置成功。</returns>
public bool ParseData(byte[] configBytes)
{
return m_ConfigManager.ParseData(configBytes);
}
/// <summary>
/// 解析全局配置。
/// </summary>
/// <param name="configBytes">要解析的全局配置二进制流。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>是否解析全局配置成功。</returns>
public bool ParseData(byte[] configBytes, object userData)
{
return m_ConfigManager.ParseData(configBytes, userData);
}
/// <summary>
/// 解析全局配置。
/// </summary>
/// <param name="configBytes">要解析的全局配置二进制流。</param>
/// <param name="startIndex">全局配置二进制流的起始位置。</param>
/// <param name="length">全局配置二进制流的长度。</param>
/// <returns>是否解析全局配置成功。</returns>
public bool ParseData(byte[] configBytes, int startIndex, int length)
{
return m_ConfigManager.ParseData(configBytes, startIndex, length);
}
/// <summary>
/// 解析全局配置。
/// </summary>
/// <param name="configBytes">要解析的全局配置二进制流。</param>
/// <param name="startIndex">全局配置二进制流的起始位置。</param>
/// <param name="length">全局配置二进制流的长度。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>是否解析全局配置成功。</returns>
public bool ParseData(byte[] configBytes, int startIndex, int length, object userData)
{
return m_ConfigManager.ParseData(configBytes, startIndex, length, userData);
}
/// <summary>
/// 检查是否存在指定全局配置项。
/// </summary>
/// <param name="configName">要检查全局配置项的名称。</param>
/// <returns>指定的全局配置项是否存在。</returns>
public bool HasConfig(string configName)
{
return m_ConfigManager.HasConfig(configName);
}
/// <summary>
/// 从指定全局配置项中读取布尔值。
/// </summary>
/// <param name="configName">要获取全局配置项的名称。</param>
/// <returns>读取的布尔值。</returns>
public bool GetBool(string configName)
{
return m_ConfigManager.GetBool(configName);
}
/// <summary>
/// 从指定全局配置项中读取布尔值。
/// </summary>
/// <param name="configName">要获取全局配置项的名称。</param>
/// <param name="defaultValue">当指定的全局配置项不存在时,返回此默认值。</param>
/// <returns>读取的布尔值。</returns>
public bool GetBool(string configName, bool defaultValue)
{
return m_ConfigManager.GetBool(configName, defaultValue);
}
/// <summary>
/// 从指定全局配置项中读取整数值。
/// </summary>
/// <param name="configName">要获取全局配置项的名称。</param>
/// <returns>读取的整数值。</returns>
public int GetInt(string configName)
{
return m_ConfigManager.GetInt(configName);
}
/// <summary>
/// 从指定全局配置项中读取整数值。
/// </summary>
/// <param name="configName">要获取全局配置项的名称。</param>
/// <param name="defaultValue">当指定的全局配置项不存在时,返回此默认值。</param>
/// <returns>读取的整数值。</returns>
public int GetInt(string configName, int defaultValue)
{
return m_ConfigManager.GetInt(configName, defaultValue);
}
/// <summary>
/// 从指定全局配置项中读取浮点数值。
/// </summary>
/// <param name="configName">要获取全局配置项的名称。</param>
/// <returns>读取的浮点数值。</returns>
public float GetFloat(string configName)
{
return m_ConfigManager.GetFloat(configName);
}
/// <summary>
/// 从指定全局配置项中读取浮点数值。
/// </summary>
/// <param name="configName">要获取全局配置项的名称。</param>
/// <param name="defaultValue">当指定的全局配置项不存在时,返回此默认值。</param>
/// <returns>读取的浮点数值。</returns>
public float GetFloat(string configName, float defaultValue)
{
return m_ConfigManager.GetFloat(configName, defaultValue);
}
/// <summary>
/// 从指定全局配置项中读取字符串值。
/// </summary>
/// <param name="configName">要获取全局配置项的名称。</param>
/// <returns>读取的字符串值。</returns>
public string GetString(string configName)
{
return m_ConfigManager.GetString(configName);
}
/// <summary>
/// 从指定全局配置项中读取字符串值。
/// </summary>
/// <param name="configName">要获取全局配置项的名称。</param>
/// <param name="defaultValue">当指定的全局配置项不存在时,返回此默认值。</param>
/// <returns>读取的字符串值。</returns>
public string GetString(string configName, string defaultValue)
{
return m_ConfigManager.GetString(configName, defaultValue);
}
/// <summary>
/// 增加指定全局配置项。
/// </summary>
/// <param name="configName">要增加全局配置项的名称。</param>
/// <param name="boolValue">全局配置项布尔值。</param>
/// <param name="intValue">全局配置项整数值。</param>
/// <param name="floatValue">全局配置项浮点数值。</param>
/// <param name="stringValue">全局配置项字符串值。</param>
/// <returns>是否增加全局配置项成功。</returns>
public bool AddConfig(string configName, bool boolValue, int intValue, float floatValue, string stringValue)
{
return m_ConfigManager.AddConfig(configName, boolValue, intValue, floatValue, stringValue);
}
/// <summary>
/// 移除指定全局配置项。
/// </summary>
/// <param name="configName">要移除全局配置项的名称。</param>
/// <returns>是否移除全局配置项成功。</returns>
public bool RemoveConfig(string configName)
{
return m_ConfigManager.RemoveConfig(configName);
}
/// <summary>
/// 清空所有全局配置项。
/// </summary>
public void RemoveAllConfigs()
{
m_ConfigManager.RemoveAllConfigs();
}
private void OnReadDataSuccess(object sender, ReadDataSuccessEventArgs e)
{
m_EventComponent.Fire(this, LoadConfigSuccessEventArgs.Create(e));
}
private void OnReadDataFailure(object sender, ReadDataFailureEventArgs e)
{
Log.Warning("Load config failure, asset name '{0}', error message '{1}'.", e.DataAssetName, e.ErrorMessage);
m_EventComponent.Fire(this, LoadConfigFailureEventArgs.Create(e));
}
private void OnReadDataUpdate(object sender, ReadDataUpdateEventArgs e)
{
m_EventComponent.Fire(this, LoadConfigUpdateEventArgs.Create(e));
}
private void OnReadDataDependencyAsset(object sender, ReadDataDependencyAssetEventArgs e)
{
m_EventComponent.Fire(this, LoadConfigDependencyAssetEventArgs.Create(e));
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3e847b2b3e22e9b4792ca7ea6e1714c6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,68 @@
//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
// Homepage: https://gameframework.cn/
// Feedback: mailto:ellan@gameframework.cn
//------------------------------------------------------------
using GameFramework;
using GameFramework.Config;
using UnityEngine;
namespace UnityGameFramework.Runtime
{
/// <summary>
/// 全局配置辅助器基类。
/// </summary>
public abstract class ConfigHelperBase : MonoBehaviour, IDataProviderHelper<IConfigManager>, IConfigHelper
{
/// <summary>
/// 读取全局配置。
/// </summary>
/// <param name="configManager">全局配置管理器。</param>
/// <param name="configAssetName">全局配置资源名称。</param>
/// <param name="configAsset">全局配置资源。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>是否读取全局配置成功。</returns>
public abstract bool ReadData(IConfigManager configManager, string configAssetName, object configAsset, object userData);
/// <summary>
/// 读取全局配置。
/// </summary>
/// <param name="configManager">全局配置管理器。</param>
/// <param name="configAssetName">全局配置资源名称。</param>
/// <param name="configBytes">全局配置二进制流。</param>
/// <param name="startIndex">全局配置二进制流的起始位置。</param>
/// <param name="length">全局配置二进制流的长度。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>是否读取全局配置成功。</returns>
public abstract bool ReadData(IConfigManager configManager, string configAssetName, byte[] configBytes, int startIndex, int length, object userData);
/// <summary>
/// 解析全局配置。
/// </summary>
/// <param name="configManager">全局配置管理器。</param>
/// <param name="configString">要解析的全局配置字符串。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>是否解析全局配置成功。</returns>
public abstract bool ParseData(IConfigManager configManager, string configString, object userData);
/// <summary>
/// 解析全局配置。
/// </summary>
/// <param name="configManager">全局配置管理器。</param>
/// <param name="configBytes">要解析的全局配置二进制流。</param>
/// <param name="startIndex">全局配置二进制流的起始位置。</param>
/// <param name="length">全局配置二进制流的长度。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>是否解析全局配置成功。</returns>
public abstract bool ParseData(IConfigManager configManager, byte[] configBytes, int startIndex, int length, object userData);
/// <summary>
/// 释放全局配置资源。
/// </summary>
/// <param name="configManager">全局配置管理器。</param>
/// <param name="configAsset">要释放的全局配置资源。</param>
public abstract void ReleaseDataAsset(IConfigManager configManager, object configAsset);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5588940f3b356ec4b9cee3c5b4a905f2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,181 @@
//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
// Homepage: https://gameframework.cn/
// Feedback: mailto:ellan@gameframework.cn
//------------------------------------------------------------
using GameFramework;
using GameFramework.Config;
using System;
using System.IO;
using System.Text;
using UnityEngine;
namespace UnityGameFramework.Runtime
{
/// <summary>
/// 默认全局配置辅助器。
/// </summary>
public class DefaultConfigHelper : ConfigHelperBase
{
private static readonly string[] ColumnSplitSeparator = new string[] { "\t" };
private static readonly string BytesAssetExtension = ".bytes";
private const int ColumnCount = 4;
private ResourceComponent m_ResourceComponent = null;
/// <summary>
/// 读取全局配置。
/// </summary>
/// <param name="configManager">全局配置管理器。</param>
/// <param name="configAssetName">全局配置资源名称。</param>
/// <param name="configAsset">全局配置资源。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>是否读取全局配置成功。</returns>
public override bool ReadData(IConfigManager configManager, string configAssetName, object configAsset, object userData)
{
TextAsset configTextAsset = configAsset as TextAsset;
if (configTextAsset != null)
{
if (configAssetName.EndsWith(BytesAssetExtension, StringComparison.Ordinal))
{
return configManager.ParseData(configTextAsset.bytes, userData);
}
else
{
return configManager.ParseData(configTextAsset.text, userData);
}
}
Log.Warning("Config asset '{0}' is invalid.", configAssetName);
return false;
}
/// <summary>
/// 读取全局配置。
/// </summary>
/// <param name="configManager">全局配置管理器。</param>
/// <param name="configAssetName">全局配置资源名称。</param>
/// <param name="configBytes">全局配置二进制流。</param>
/// <param name="startIndex">全局配置二进制流的起始位置。</param>
/// <param name="length">全局配置二进制流的长度。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>是否读取全局配置成功。</returns>
public override bool ReadData(IConfigManager configManager, string configAssetName, byte[] configBytes, int startIndex, int length, object userData)
{
if (configAssetName.EndsWith(BytesAssetExtension, StringComparison.Ordinal))
{
return configManager.ParseData(configBytes, startIndex, length, userData);
}
else
{
return configManager.ParseData(Utility.Converter.GetString(configBytes, startIndex, length), userData);
}
}
/// <summary>
/// 解析全局配置。
/// </summary>
/// <param name="configManager">全局配置管理器。</param>
/// <param name="configString">要解析的全局配置字符串。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>是否解析全局配置成功。</returns>
public override bool ParseData(IConfigManager configManager, string configString, object userData)
{
try
{
int position = 0;
string configLineString = null;
while ((configLineString = configString.ReadLine(ref position)) != null)
{
if (configLineString[0] == '#')
{
continue;
}
string[] splitedLine = configLineString.Split(ColumnSplitSeparator, StringSplitOptions.None);
if (splitedLine.Length != ColumnCount)
{
Log.Warning("Can not parse config line string '{0}' which column count is invalid.", configLineString);
return false;
}
string configName = splitedLine[1];
string configValue = splitedLine[3];
if (!configManager.AddConfig(configName, configValue))
{
Log.Warning("Can not add config with config name '{0}' which may be invalid or duplicate.", configName);
return false;
}
}
return true;
}
catch (Exception exception)
{
Log.Warning("Can not parse config string with exception '{0}'.", exception);
return false;
}
}
/// <summary>
/// 解析全局配置。
/// </summary>
/// <param name="configManager">全局配置管理器。</param>
/// <param name="configBytes">要解析的全局配置二进制流。</param>
/// <param name="startIndex">全局配置二进制流的起始位置。</param>
/// <param name="length">全局配置二进制流的长度。</param>
/// <param name="userData">用户自定义数据。</param>
/// <returns>是否解析全局配置成功。</returns>
public override bool ParseData(IConfigManager configManager, byte[] configBytes, int startIndex, int length, object userData)
{
try
{
using (MemoryStream memoryStream = new MemoryStream(configBytes, startIndex, length, false))
{
using (BinaryReader binaryReader = new BinaryReader(memoryStream, Encoding.UTF8))
{
while (binaryReader.BaseStream.Position < binaryReader.BaseStream.Length)
{
string configName = binaryReader.ReadString();
string configValue = binaryReader.ReadString();
if (!configManager.AddConfig(configName, configValue))
{
Log.Warning("Can not add config with config name '{0}' which may be invalid or duplicate.", configName);
return false;
}
}
}
}
return true;
}
catch (Exception exception)
{
Log.Warning("Can not parse config bytes with exception '{0}'.", exception);
return false;
}
}
/// <summary>
/// 释放全局配置资源。
/// </summary>
/// <param name="configManager">全局配置管理器。</param>
/// <param name="configAsset">要释放的全局配置资源。</param>
public override void ReleaseDataAsset(IConfigManager configManager, object configAsset)
{
m_ResourceComponent.UnloadAsset(configAsset);
}
private void Start()
{
m_ResourceComponent = GameEntry.GetComponent<ResourceComponent>();
if (m_ResourceComponent == null)
{
Log.Fatal("Resource component is invalid.");
return;
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9c039b1ea5c75e24fa12a58ab3227ab7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,119 @@
//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
// Homepage: https://gameframework.cn/
// Feedback: mailto:ellan@gameframework.cn
//------------------------------------------------------------
using GameFramework;
using GameFramework.Event;
namespace UnityGameFramework.Runtime
{
/// <summary>
/// 加载全局配置时加载依赖资源事件。
/// </summary>
public sealed class LoadConfigDependencyAssetEventArgs : GameEventArgs
{
/// <summary>
/// 加载全局配置失败事件编号。
/// </summary>
public static readonly int EventId = typeof(LoadConfigDependencyAssetEventArgs).GetHashCode();
/// <summary>
/// 初始化加载全局配置时加载依赖资源事件的新实例。
/// </summary>
public LoadConfigDependencyAssetEventArgs()
{
ConfigAssetName = null;
DependencyAssetName = null;
LoadedCount = 0;
TotalCount = 0;
UserData = null;
}
/// <summary>
/// 获取加载全局配置失败事件编号。
/// </summary>
public override int Id
{
get
{
return EventId;
}
}
/// <summary>
/// 获取全局配置资源名称。
/// </summary>
public string ConfigAssetName
{
get;
private set;
}
/// <summary>
/// 获取被加载的依赖资源名称。
/// </summary>
public string DependencyAssetName
{
get;
private set;
}
/// <summary>
/// 获取当前已加载依赖资源数量。
/// </summary>
public int LoadedCount
{
get;
private set;
}
/// <summary>
/// 获取总共加载依赖资源数量。
/// </summary>
public int TotalCount
{
get;
private set;
}
/// <summary>
/// 获取用户自定义数据。
/// </summary>
public object UserData
{
get;
private set;
}
/// <summary>
/// 创建加载全局配置时加载依赖资源事件。
/// </summary>
/// <param name="e">内部事件。</param>
/// <returns>创建的加载全局配置时加载依赖资源事件。</returns>
public static LoadConfigDependencyAssetEventArgs Create(ReadDataDependencyAssetEventArgs e)
{
LoadConfigDependencyAssetEventArgs loadConfigDependencyAssetEventArgs = ReferencePool.Acquire<LoadConfigDependencyAssetEventArgs>();
loadConfigDependencyAssetEventArgs.ConfigAssetName = e.DataAssetName;
loadConfigDependencyAssetEventArgs.DependencyAssetName = e.DependencyAssetName;
loadConfigDependencyAssetEventArgs.LoadedCount = e.LoadedCount;
loadConfigDependencyAssetEventArgs.TotalCount = e.TotalCount;
loadConfigDependencyAssetEventArgs.UserData = e.UserData;
return loadConfigDependencyAssetEventArgs;
}
/// <summary>
/// 清理加载全局配置时加载依赖资源事件。
/// </summary>
public override void Clear()
{
ConfigAssetName = null;
DependencyAssetName = null;
LoadedCount = 0;
TotalCount = 0;
UserData = null;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 224a6c56bac19dc47b5a08f772e59af1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,95 @@
//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
// Homepage: https://gameframework.cn/
// Feedback: mailto:ellan@gameframework.cn
//------------------------------------------------------------
using GameFramework;
using GameFramework.Event;
namespace UnityGameFramework.Runtime
{
/// <summary>
/// 加载全局配置失败事件。
/// </summary>
public sealed class LoadConfigFailureEventArgs : GameEventArgs
{
/// <summary>
/// 加载全局配置失败事件编号。
/// </summary>
public static readonly int EventId = typeof(LoadConfigFailureEventArgs).GetHashCode();
/// <summary>
/// 初始化加载全局配置失败事件的新实例。
/// </summary>
public LoadConfigFailureEventArgs()
{
ConfigAssetName = null;
ErrorMessage = null;
UserData = null;
}
/// <summary>
/// 获取加载全局配置失败事件编号。
/// </summary>
public override int Id
{
get
{
return EventId;
}
}
/// <summary>
/// 获取全局配置资源名称。
/// </summary>
public string ConfigAssetName
{
get;
private set;
}
/// <summary>
/// 获取错误信息。
/// </summary>
public string ErrorMessage
{
get;
private set;
}
/// <summary>
/// 获取用户自定义数据。
/// </summary>
public object UserData
{
get;
private set;
}
/// <summary>
/// 创建加载全局配置失败事件。
/// </summary>
/// <param name="e">内部事件。</param>
/// <returns>创建的加载全局配置失败事件。</returns>
public static LoadConfigFailureEventArgs Create(ReadDataFailureEventArgs e)
{
LoadConfigFailureEventArgs loadConfigFailureEventArgs = ReferencePool.Acquire<LoadConfigFailureEventArgs>();
loadConfigFailureEventArgs.ConfigAssetName = e.DataAssetName;
loadConfigFailureEventArgs.ErrorMessage = e.ErrorMessage;
loadConfigFailureEventArgs.UserData = e.UserData;
return loadConfigFailureEventArgs;
}
/// <summary>
/// 清理加载全局配置失败事件。
/// </summary>
public override void Clear()
{
ConfigAssetName = null;
ErrorMessage = null;
UserData = null;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ca7b842aaf795c6428b7a23287dec802
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,95 @@
//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
// Homepage: https://gameframework.cn/
// Feedback: mailto:ellan@gameframework.cn
//------------------------------------------------------------
using GameFramework;
using GameFramework.Event;
namespace UnityGameFramework.Runtime
{
/// <summary>
/// 加载全局配置成功事件。
/// </summary>
public sealed class LoadConfigSuccessEventArgs : GameEventArgs
{
/// <summary>
/// 加载全局配置成功事件编号。
/// </summary>
public static readonly int EventId = typeof(LoadConfigSuccessEventArgs).GetHashCode();
/// <summary>
/// 初始化加载全局配置成功事件编号的新实例。
/// </summary>
public LoadConfigSuccessEventArgs()
{
ConfigAssetName = null;
Duration = 0f;
UserData = null;
}
/// <summary>
/// 获取加载全局配置成功事件编号。
/// </summary>
public override int Id
{
get
{
return EventId;
}
}
/// <summary>
/// 获取全局配置资源名称。
/// </summary>
public string ConfigAssetName
{
get;
private set;
}
/// <summary>
/// 获取加载持续时间。
/// </summary>
public float Duration
{
get;
private set;
}
/// <summary>
/// 获取用户自定义数据。
/// </summary>
public object UserData
{
get;
private set;
}
/// <summary>
/// 创建加载全局配置成功事件。
/// </summary>
/// <param name="e">内部事件。</param>
/// <returns>创建的加载全局配置成功事件。</returns>
public static LoadConfigSuccessEventArgs Create(ReadDataSuccessEventArgs e)
{
LoadConfigSuccessEventArgs loadConfigSuccessEventArgs = ReferencePool.Acquire<LoadConfigSuccessEventArgs>();
loadConfigSuccessEventArgs.ConfigAssetName = e.DataAssetName;
loadConfigSuccessEventArgs.Duration = e.Duration;
loadConfigSuccessEventArgs.UserData = e.UserData;
return loadConfigSuccessEventArgs;
}
/// <summary>
/// 清理加载全局配置成功事件。
/// </summary>
public override void Clear()
{
ConfigAssetName = null;
Duration = 0f;
UserData = null;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8edee6cdf050d4f47ac48581f944d4ae
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,95 @@
//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
// Homepage: https://gameframework.cn/
// Feedback: mailto:ellan@gameframework.cn
//------------------------------------------------------------
using GameFramework;
using GameFramework.Event;
namespace UnityGameFramework.Runtime
{
/// <summary>
/// 加载全局配置更新事件。
/// </summary>
public sealed class LoadConfigUpdateEventArgs : GameEventArgs
{
/// <summary>
/// 加载全局配置失败事件编号。
/// </summary>
public static readonly int EventId = typeof(LoadConfigUpdateEventArgs).GetHashCode();
/// <summary>
/// 初始化加载全局配置更新事件的新实例。
/// </summary>
public LoadConfigUpdateEventArgs()
{
ConfigAssetName = null;
Progress = 0f;
UserData = null;
}
/// <summary>
/// 获取加载全局配置失败事件编号。
/// </summary>
public override int Id
{
get
{
return EventId;
}
}
/// <summary>
/// 获取全局配置资源名称。
/// </summary>
public string ConfigAssetName
{
get;
private set;
}
/// <summary>
/// 获取加载全局配置进度。
/// </summary>
public float Progress
{
get;
private set;
}
/// <summary>
/// 获取用户自定义数据。
/// </summary>
public object UserData
{
get;
private set;
}
/// <summary>
/// 创建加载全局配置更新事件。
/// </summary>
/// <param name="e">内部事件。</param>
/// <returns>创建的加载全局配置更新事件。</returns>
public static LoadConfigUpdateEventArgs Create(ReadDataUpdateEventArgs e)
{
LoadConfigUpdateEventArgs loadConfigUpdateEventArgs = ReferencePool.Acquire<LoadConfigUpdateEventArgs>();
loadConfigUpdateEventArgs.ConfigAssetName = e.DataAssetName;
loadConfigUpdateEventArgs.Progress = e.Progress;
loadConfigUpdateEventArgs.UserData = e.UserData;
return loadConfigUpdateEventArgs;
}
/// <summary>
/// 清理加载全局配置更新事件。
/// </summary>
public override void Clear()
{
ConfigAssetName = null;
Progress = 0f;
UserData = null;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 07c976efcbda2464bb7ef36e80504f3a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: