📄 rpgsetting.cc
字号:
//RPGSetting.cc
/*/////////////////////////////////////////////////////////////////
RPG游戏全局配置表
升级经验映射表
李亦
liease@163.com 4040719
2006-7-13
/*/////////////////////////////////////////////////////////////////
#include "platform/platform.h"
#include "rpg/RPGSetting.h"
#include "rpg/RPGDefine.h"
#include "console/consoleTypes.h"
#include "console/macroManager.h"
#include "rpg/gobjects/GGoodsArray.h"
#include "rpg/gobjects/GPlayer.h"
#ifdef TGE_RPGCLIENT
#include "gui/containers/guiCellArrayCtrl.h"
#endif
namespace RPG
{
/////////////////////////////////////////////////////////////////
#define SETTING_MONEYUNIT "元"
#define SETTING_GAMENAME "学习园地"
#define SETTING_MissionCleanup "MissionCleanup"
/////////////////////////////////////////////////////////////////
RPGSetting *g_pRPGSetting = NULL;
IMPLEMENT_CONOBJECT(RPGSetting);
/////////////////////////////////////////////////////////////////
// class RPGSetting 构造函数 /析构函数
RPGSetting::RPGSetting()
{
m_pTSFileFormat = StringTable->insert(CHAR_TSFILEFORMAT);
INIT_RPGSETTING_MEMBER(MoneyUnit, s, SETTING_MONEYUNIT);
INIT_RPGSETTING_MEMBER(GameName, s, SETTING_GAMENAME);
INIT_RPGSETTING_MEMBER(MissionCleanup, s, SETTING_MissionCleanup);
//for(U32 n=0; n<GGAR_AMOUNT; n++)
// m_arGoodsArryUIs[n] = StringTable->getBlank();
}
RPGSetting::~RPGSetting()
{
}
void RPGSetting::Initialize(CSTR pObjName)
{
AssertWarn(g_pRPGSetting == NULL,"只能创建一个RPGSetting实例");
g_pRPGSetting = new RPGSetting();
g_pRPGSetting->registerObject(pObjName);
InitSettingData();
//STE a = g_pRPGSetting->GetSceneStateName(GSS_LOCKED);
//STE b = g_pRPGSetting->GetRPGConstantName(SKILL_SLOTNUM);
}
void RPGSetting::Destroy()
{
if(g_pRPGSetting)
{
g_pRPGSetting->deleteObject();
g_pRPGSetting = NULL;
}
}
void RPGSetting::initPersistFields()
{
Parent::initPersistFields();
///@name 基本属性
SETFIELD_RPGSETTING_MEMBER(RPGSetting, MoneyUnit, StringTableEntry, s, "moneyUnit", TypeString);
SETFIELD_RPGSETTING_MEMBER(RPGSetting, GameName, StringTableEntry, s, "gameName", TypeString);
SETFIELD_RPGSETTING_MEMBER(RPGSetting, MissionCleanup, StringTableEntry, s, "missionCleanup", TypeString);
///@name 基本类型
SETFIELD_RPGSETTING_TYPE(RPGSetting, Career, GCR_AMOUNT, "arCareer");
SETFIELD_RPGSETTING_TYPE(RPGSetting, Clan, GC_AMOUNT, "arClan");
SETFIELD_RPGSETTING_TYPE(RPGSetting, Gender, GG_AMOUNT, "arGender");
SETFIELD_RPGSETTING_TYPE(RPGSetting, Body, GBT_AMOUNT, "arBody");
SETFIELD_RPGSETTING_TYPE(RPGSetting, GoodsType, GGT_AMOUNT, "arGoodsType");
SETFIELD_RPGSETTING_TYPE(RPGSetting, GoodsKind, GGK_AMOUNT, "arGoodsKind");
SETFIELD_RPGSETTING_TYPE(RPGSetting, EquipSetType, GEST_AMOUNT, "arEquipSetType");
SETFIELD_RPGSETTING_TYPE(RPGSetting, EquipType, EQUIP_AMOUNT, "arEquipType");
SETFIELD_RPGSETTING_TYPE0(RPGSetting, Equip, EQUIP_AMOUNT, TexTag, "arEquipTexTag");
SETFIELD_RPGSETTING_TYPE(RPGSetting, GoodsArType, GGAR_AMOUNT, "arGoodsArType");
SETFIELD_RPGSETTING_TYPE0(RPGSetting, GoodsArType, GGAR_AMOUNT, UIName, "arGoodsArTypeUIName");
SETFIELD_RPGSETTING_TYPE(RPGSetting, SceneState, GSS_AMOUNT, "arSceneState");
SETFIELD_RPGSETTING_TYPE(RPGSetting, SceneType, GST_AMOUNT, "arSceneType");
SETFIELD_RPGSETTING_TYPE(RPGSetting, TipText, TIP_AMOUNT, "arTipText");
SETFIELD_RPGSETTING_TYPE(RPGSetting, TextParseType, TXTT_AMOUNT, "arTextParseType");
SETFIELD_RPGSETTING_TYPE_MACRO(RPGSetting, RPGConstant, RPGC_AMOUNT, "arRPGConstant");
SETFIELD_RPGSETTING_TYPE(RPGSetting, TaskType, GTT_AMOUNT, "arTaskType");
SETFIELD_RPGSETTING_TYPE(RPGSetting, TaskState, GTS_AMOUNT, "arTaskState");
SETFIELD_RPGSETTING_TYPE(RPGSetting, TaskAction, GTA_AMOUNT, "arTaskAction");
}
//void RPGSetting::consoleInit()
//{
//}
void RPGSetting::AttachGoodsArrayWithUI(void* pOwnerAddr,ERPGGoodsArrayTypes type)
{
if(type >= GGAR_AMOUNT)
return;
GuiCellArrayControl* pUICtrl;
StringTableEntry pUIName;
GGoodsArray* pGoodsArray;
pUIName = g_pRPGSetting->GetGoodsArTypeUIName(type);
if(pUIName == NULL || pUIName[0] == 0)
return;
if(Sim::findObject(pUIName, pUICtrl))
{
pGoodsArray = dynamic_cast<GGoodsArray*>((GGoodsArray*)((U32)pOwnerAddr + ms_arGoodsArrayInfos[type].sOffset));
AssertFatal(pGoodsArray,"GoodsArray转换出错,看年OwnerAddr指定有没错?");
//pUICtrl->SetArrayType(type);
pUICtrl->attachDataSource(pGoodsArray,
ms_arGoodsArrayInfos[type].uBase,
ms_arGoodsArrayInfos[type].uAmount);
}
}
};//namespace RPG
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -