game_cfg.cpp 2.41 KB
#include "game_cfg.h"
#include "item.h"
#include "gateway.h"
#include "event.h"
#include "user.h"
#include <gateway_msg.pb.h>

game_cfg_mgr_t* g_game_cfg_mgr;

void game_cfg_mgr_t::init()
{
	this->daily_relief_cnt_max = 0;
	this->daily_relief_money = 0;
	this->daily_relief_reward = 0;
	this->daily_relief_reward_vip = 0;
	this->daily_game_money_max = 0;
	this->daily_game_exp_max = 0;


	this->daily_game_key_max = 0;
	this->daily_game_pet_food_max = 0;

	this->daily_game_flower_money_cnt = 0;
	this->daily_game_flower_money_cnt_max = 0;

	this->daily_game_pk_win_money_cnt = 0;
	this->daily_game_pk_win_money_cnt_max = 0;
	this->daily_game_pk_lose_money_cnt = 0;
	this->daily_game_pk_cnt_max = 0;

	this->vip_pet_btl_team_cnt = 0;
}

bool game_cfg_mgr_t::load_cfg()
{
	const std::string cfg_path = "./cfg/game.xml";

	el::lib_xmlparser_t xml;
	int ret = xml.open(cfg_path.c_str());
	if (SUCC != ret){
		ALERT_LOG("open");
		return false;
	}

	this->init();

	xml.move2children_node();
	xmlNodePtr cur = xml.node_ptr;
	while (cur) {
		if (!xmlStrcmp(cur->name, (const xmlChar *)"common")) {
			uint32_t id = 0;
			xml.get_xml_prop(cur, id, "id");
			uint32_t val = 0;
			xml.get_xml_prop(cur, val, "val");
			switch (id)
			{
			case 2:
				g_game_cfg_mgr->daily_relief_money = val;
				break;
			case 3:
				g_game_cfg_mgr->daily_relief_reward = val;
				break;
			case 4:
				g_game_cfg_mgr->daily_relief_cnt_max = val;
				break;
			case 5:
				g_game_cfg_mgr->daily_relief_reward_vip = val;
				break;
			case 6:
				g_game_cfg_mgr->daily_game_money_max = val;
				break;
			case 7:
				g_game_cfg_mgr->daily_game_exp_max = val;
				break;

			case 14:
				g_game_cfg_mgr->daily_game_key_max = val;
				break;
			case 15:
				g_game_cfg_mgr->daily_game_pet_food_max = val;
				break;
			case 16:
				g_game_cfg_mgr->daily_game_flower_money_cnt_max = val;
				break;
			case 17:
				g_game_cfg_mgr->daily_game_flower_money_cnt = val;
				break;

			case 18:
				g_game_cfg_mgr->daily_game_pk_win_money_cnt = val;
				break;
			case 19:
				g_game_cfg_mgr->daily_game_pk_win_money_cnt_max = val;
				break;
			case 20:
				g_game_cfg_mgr->vip_pet_btl_team_cnt = val;
				break;
			case 21:
				g_game_cfg_mgr->daily_game_pk_lose_money_cnt = val;
				break;
			case 22:
				g_game_cfg_mgr->daily_game_pk_cnt_max = val;
				break;
			default:
				break;
			}
		}
		cur = cur->next;
	}//while
 	return true;
}

game_cfg_mgr_t::game_cfg_mgr_t()
{
	this->init();
}