⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamesetting.h

📁 是一个基于热血战国协议的网络游戏。现在脱机客户端先放出来给大家研究
💻 H
字号:

/*
 * name:		GameSetting.h
 *
 * desc:		这个是读取配置文件的类
 *
*/

#pragma once

class CGameSetting
{
private:
	std::map<std::string,std::string> m_Settings;
	std::string m_Filename;

public:
	void Load(std::string server, std::string character);
	void Save( void );

	//根据索引得到数值
	const std::string& Get( std::string key, const std::string& default_value=std::string() )
	{
		std::map<std::string,std::string>::iterator itor= m_Settings.find(key);
		if ( itor==m_Settings.end() )
		{
			Set(key,default_value);
			return default_value;
		}
		return itor->second;
	}

	//根据索引设置数值
	void Set(std::string key, const std::string& value)
	{
		m_Settings[key]=value;
	}
	//根据索引得到数值
	template<class T> T Get( std::string key, T default_value=T(0))
	{
		std::map<std::string,std::string>::iterator itor= m_Settings.find(key);
		if ( itor==m_Settings.end() )
		{
			Set<T>(key,default_value);
			return default_value;
		}
		return boost::lexical_cast<T,std::string>(itor->second);
	}
	//根据索引设置数值
	template<class T> void Set(std::string key, T value)
	{
		m_Settings[key]=boost::lexical_cast<std::string,T>(value);
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -