//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 loyalsoft. All rights reserved.
// Homepage: http://www.game7000.com/
// Feedback: http://www.game7000.com/
//------------------------------------------------------------
using GameFramework.Resource;
namespace GameFramework.Config
{
///
/// 全局配置管理器接口。
///
public interface IConfigManager : IDataProvider
{
///
/// 获取全局配置项数量。
///
int Count
{
get;
}
///
/// 获取缓冲二进制流的大小。
///
int CachedBytesSize
{
get;
}
///
/// 设置资源管理器。
///
/// 资源管理器。
void SetResourceManager(IResourceManager resourceManager);
///
/// 设置全局配置数据提供者辅助器。
///
/// 全局配置数据提供者辅助器。
void SetDataProviderHelper(IDataProviderHelper dataProviderHelper);
///
/// 设置全局配置辅助器。
///
/// 全局配置辅助器。
void SetConfigHelper(IConfigHelper configHelper);
///
/// 确保二进制流缓存分配足够大小的内存并缓存。
///
/// 要确保二进制流缓存分配内存的大小。
void EnsureCachedBytesSize(int ensureSize);
///
/// 释放缓存的二进制流。
///
void FreeCachedBytes();
///
/// 检查是否存在指定全局配置项。
///
/// 要检查全局配置项的名称。
/// 指定的全局配置项是否存在。
bool HasConfig(string configName);
///
/// 从指定全局配置项中读取布尔值。
///
/// 要获取全局配置项的名称。
/// 读取的布尔值。
bool GetBool(string configName);
///
/// 从指定全局配置项中读取布尔值。
///
/// 要获取全局配置项的名称。
/// 当指定的全局配置项不存在时,返回此默认值。
/// 读取的布尔值。
bool GetBool(string configName, bool defaultValue);
///
/// 从指定全局配置项中读取整数值。
///
/// 要获取全局配置项的名称。
/// 读取的整数值。
int GetInt(string configName);
///
/// 从指定全局配置项中读取整数值。
///
/// 要获取全局配置项的名称。
/// 当指定的全局配置项不存在时,返回此默认值。
/// 读取的整数值。
int GetInt(string configName, int defaultValue);
///
/// 从指定全局配置项中读取浮点数值。
///
/// 要获取全局配置项的名称。
/// 读取的浮点数值。
float GetFloat(string configName);
///
/// 从指定全局配置项中读取浮点数值。
///
/// 要获取全局配置项的名称。
/// 当指定的全局配置项不存在时,返回此默认值。
/// 读取的浮点数值。
float GetFloat(string configName, float defaultValue);
///
/// 从指定全局配置项中读取字符串值。
///
/// 要获取全局配置项的名称。
/// 读取的字符串值。
string GetString(string configName);
///
/// 从指定全局配置项中读取字符串值。
///
/// 要获取全局配置项的名称。
/// 当指定的全局配置项不存在时,返回此默认值。
/// 读取的字符串值。
string GetString(string configName, string defaultValue);
///
/// 增加指定全局配置项。
///
/// 要增加全局配置项的名称。
/// 全局配置项的值。
/// 是否增加全局配置项成功。
bool AddConfig(string configName, string configValue);
///
/// 增加指定全局配置项。
///
/// 要增加全局配置项的名称。
/// 全局配置项布尔值。
/// 全局配置项整数值。
/// 全局配置项浮点数值。
/// 全局配置项字符串值。
/// 是否增加全局配置项成功。
bool AddConfig(string configName, bool boolValue, int intValue, float floatValue, string stringValue);
///
/// 移除指定全局配置项。
///
/// 要移除全局配置项的名称。
/// 是否移除全局配置项成功。
bool RemoveConfig(string configName);
///
/// 清空所有全局配置项。
///
void RemoveAllConfigs();
}
}