Gameframework user configuration
introduce
Mainly used to save runtime application data, user data, etc.
Can be obtained and set, and will be persisted to files
Class introduction
use
// 首先在 SettingComponent 选择使用 DefaultSettingHelper 还是 PlayerPrefsSettingHelper
SettingComponent settingComponent = Entry.GetComponent<SettingComponent>();
bool enableLog = settingComponent.GetBool("EnableLog", false);
settingComponent.SetBool("EnableLog", true);
settingComponent.Save();
Configuration loading process
SettingComponent.Start()
{
m_SettingManager.Load() // SettingManager.Load()
{
return m_SettingHelper.Load() // DefaultSettingHelper.Load()
{
m_FilePath = Path.Combine(Application.persistentDataPath, "GameFrameworkSetting.dat");
using (FileStream fileStream = new FileStream(m_FilePath, FileMode.Open, FileAccess.Read))
{
m_Serializer.Deserialize(fileStream) // DefaultSettingSerializer.Deserialize
{
// 读文件头标志和版本号
// 用版本号查找解析器
m_DeserializeCallbacks.TryGetValue(version, out DeserializeCallback callback);
return callback(stream) // DefaultSettingHelper.DeserializeDefaultSettingCallback
{
m_Settings.Deserialize(stream) // DefaultSetting.Deserialize
{
// !!!!!!!!! 解析二进制配置
}
}
}
}
}
}
}