本文整理汇总了C++中ITabFile::GetInteger方法的典型用法代码示例。如果您正苦于以下问题:C++ ITabFile::GetInteger方法的具体用法?C++ ITabFile::GetInteger怎么用?C++ ITabFile::GetInteger使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITabFile
的用法示例。
在下文中一共展示了ITabFile::GetInteger方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadRandomQuestGroup
BOOL KQuestInfoList::LoadRandomQuestGroup()
{
BOOL bResult = false;
int nRetCode = false;
int nHeight = 0;
ITabFile* piTabFile = NULL;
DWORD dwTemplateID = 0;
DWORD dwQuestID = 0;
KQuestInfo* pQuestInfo = NULL;
char szFilePath[MAX_PATH];
char szColName[64];
std::set<DWORD>::iterator setIt;
int nID = 0;
nRetCode = (int)snprintf(szFilePath, sizeof(szFilePath), "%s/%s", SETTING_DIR, RANDOM_QUEST_FILE_NAME);
KGLOG_PROCESS_ERROR(nRetCode > 0 && nRetCode < (int)sizeof(szFilePath));
piTabFile = g_OpenTabFile(szFilePath);
KGLOG_PROCESS_ERROR(piTabFile);
nHeight = piTabFile->GetHeight();
if (nHeight >= 2)
{
for (int i = 2; i <= nHeight; ++i)
{
KQUEST_GROUP QuestGroupInfo;
nRetCode = piTabFile->GetInteger(i, "ID", 0, &nID);
KGLOG_PROCESS_ERROR(nRetCode > 0);
for (int j = 0; j < RANDOM_QUEST_COUNT_PER_GROUP; ++j)
{
snprintf(szColName, sizeof(szColName), "Quest%d", j + 1);
szColName[sizeof(szColName) - 1] = '\0';
nRetCode = piTabFile->GetInteger(i, szColName, 0, (int*)&dwQuestID);
if (dwQuestID == 0)
break;
pQuestInfo = GetQuestInfo(dwQuestID);
KGLOG_PROCESS_ERROR(pQuestInfo);
KGLOG_PROCESS_ERROR(pQuestInfo->bAccept);
KGLOG_PROCESS_ERROR(pQuestInfo->bRepeat);
QuestGroupInfo.push_back(dwQuestID);
}
m_RandomQuestGroup[nID] = QuestGroupInfo;
}
}
Exit1:
bResult = true;
Exit0:
KG_COM_RELEASE(piTabFile);
return bResult;
}
示例2: Init
BOOL KCoolDownList::Init()
{
BOOL bResult = false;
int nRetCode = false;
ITabFile* piTabFile = NULL;
int nItemCount = 0;
char szFileName[MAX_PATH];
KCOOL_DWON_INFO Info;
nRetCode = snprintf(szFileName, sizeof(szFileName), "%s/%s", SETTING_DIR, COOL_DOWN_TAB_FILE);
szFileName[sizeof(szFileName) - 1] = '\0';
KGLOG_PROCESS_ERROR(nRetCode > 0);
piTabFile = g_OpenTabFile(szFileName);
KGLOG_PROCESS_ERROR(piTabFile);
// 第一行是名称(ID, Duration)
nItemCount = piTabFile->GetHeight() - 1;
KGLOG_PROCESS_ERROR(nItemCount >= 0);
KGLOG_PROCESS_ERROR(nItemCount < MAX_COOL_DOWN_COUNT);
for (int i = 0; i < nItemCount; ++i)
{
float fDuration = 0.0f;
nRetCode = piTabFile->GetInteger(2 + i, "ID", 0, (int*)&Info.dwID);
KGLOG_PROCESS_ERROR(nRetCode);
KGLOG_PROCESS_ERROR(Info.dwID > 0 && Info.dwID < USHRT_MAX);
// 策划填写数值时填秒数即可,这里转换为游戏帧数
nRetCode = piTabFile->GetFloat(2 + i, "Duration", 0, &fDuration);
KGLOG_PROCESS_ERROR(nRetCode);
KGLOG_PROCESS_ERROR(fDuration > 0);
Info.nDuration = (int)(fDuration * GAME_FPS);
nRetCode = piTabFile->GetInteger(2 + i, "NeedSave", 0, (int*)&Info.bNeedSave);
KGLOG_PROCESS_ERROR(nRetCode);
nRetCode = piTabFile->GetInteger(2 + i, "GroupID", 0, (int*)&Info.nGroupID);
KGLOG_PROCESS_ERROR(nRetCode);
m_CoolDownTable[Info.dwID] = Info;
}
bResult = true;
Exit0:
if (!bResult)
{
m_CoolDownTable.clear();
}
KG_COM_RELEASE(piTabFile);
return bResult;
}
示例3: Load
BOOL KTrackList::Load()
{
BOOL bResult = false;
int nRetCode = 0;
ITabFile* piTabFile = NULL;
int nTabHeight = 0;
char szFileName[MAX_PATH];
snprintf(szFileName, sizeof(szFileName), "%s/%s/track.tab", SETTING_DIR, TRACK_DIR);
szFileName[sizeof(szFileName) - 1] = '\0';
piTabFile = g_OpenTabFile(szFileName);
KGLOG_PROCESS_ERROR(piTabFile);
nTabHeight = piTabFile->GetHeight();
KGLOG_PROCESS_ERROR(nTabHeight >= 2);
for (int nLine = 2; nLine <= nTabHeight; nLine++)
{
DWORD dwID = 0;
KTRACK* pTrack = NULL;
KTRACK_INFO TrackInfo;
pair<KTRACK_TABLE::iterator, bool> IntResult;
nRetCode = piTabFile->GetInteger(nLine, COL_ID, 0, (int*)&dwID);
KGLOG_PROCESS_ERROR(nRetCode);
nRetCode = piTabFile->GetInteger(nLine, COL_MAP, 0, (int*)&TrackInfo.dwMapID);
KGLOG_PROCESS_ERROR(nRetCode);
nRetCode = piTabFile->GetString(nLine, COL_DESC, "?", TrackInfo.szDesc, sizeof(TrackInfo.szDesc));
KGLOG_PROCESS_ERROR(nRetCode);
IntResult = m_TrackTable.insert(KTRACK_TABLE::value_type(dwID, TrackInfo));
KGLOG_PROCESS_ERROR(IntResult.second);
pTrack = &IntResult.first->second.Track;
nRetCode = LoadTrack(dwID, pTrack);
KGLOG_PROCESS_ERROR(nRetCode);
nRetCode = CalculateCriticalFrame(pTrack);
KGLOG_PROCESS_ERROR(nRetCode);
}
bResult = true;
Exit0:
if (!bResult)
{
m_TrackTable.clear();
}
KG_COM_RELEASE(piTabFile);
return bResult;
}
示例4: LoadBattleFieldQueueTab
BOOL KBattleFieldQueueManager::LoadBattleFieldQueueTab(const char* szFileName)
{
BOOL bResult = false;
BOOL bRetCode = false;
ITabFile* piTabFile = NULL;
int nHieght = 0;
piTabFile = g_OpenTabFile(szFileName);
KGLOG_PROCESS_ERROR(piTabFile);
nHieght = piTabFile->GetHeight();
KGLOG_PROCESS_ERROR(nHieght > 1);
for (int nIndex = 2; nIndex <= nHieght; nIndex++)
{
DWORD dwMapID = 0;
KBattleField BattleField;
bRetCode = piTabFile->GetInteger(nIndex, "MapID", 0, (int*)&dwMapID);
KGLOG_PROCESS_ERROR(bRetCode && "Get MapID");
BattleField.dwMapID = dwMapID;
bRetCode = piTabFile->GetInteger(nIndex, "MinLevelRequire", 0, &BattleField.nMinJoinLevel);
KGLOG_PROCESS_ERROR(bRetCode && "Get MinLevelRequire");
bRetCode = piTabFile->GetInteger(nIndex, "MaxLevelRequire", 0, &BattleField.nMaxJoinLevel);
KGLOG_PROCESS_ERROR(bRetCode && "Get MaxLevelRequire");
for (int i = 0; i < QUEUE_PER_BATTLE; i++)
{
int nRetCode = 0;
char szColName[_NAME_LEN];
nRetCode = snprintf(szColName, sizeof(szColName), "ForceMask%d", i + 1);
KGLOG_PROCESS_ERROR(nRetCode >= 0 && nRetCode < sizeof(szColName));
bRetCode = piTabFile->GetInteger(nIndex, szColName, 0, (int*)&BattleField.dwForcMask[i]);
KGLOG_PROCESS_ERROR(bRetCode && "Get ForceMask");
BattleField.QueueList[i].clear();
BattleField.nAvgQueueTime[i] = 0;
}
m_QueueTable.insert(std::make_pair(dwMapID, BattleField));
}
bResult = true;
Exit0:
KG_COM_RELEASE(piTabFile);
return bResult;
}
示例5: Init
BOOL KRelationList::Init(const char* szSettingFile)
{
BOOL bResult = false;
int nSize = 0;
int nRetCode = 0;
ITabFile* pTabFile = NULL;
char szFileName[MAX_PATH];
KGLOG_PROCESS_ERROR(szSettingFile);
snprintf(szFileName, sizeof(szFileName), "%s/%s", SETTING_DIR, szSettingFile);
szFileName[sizeof(szFileName) - 1] = '\0';
pTabFile = g_OpenTabFile(szFileName);
KGLOG_PROCESS_ERROR(pTabFile);
nSize = pTabFile->GetHeight() - 1;
KGLOG_PROCESS_ERROR(nSize > 0);
assert(m_nRelation == NULL);
m_nRelation = new int*[nSize];
for (int i = 0; i < nSize; i++)
{
m_nRelation[i] = new int[nSize];
}
m_nSize = nSize;
for (int i = 2; i < nSize + 2; i++)
{
int nId = 0;
nRetCode = pTabFile->GetInteger(i, RELATION_ID, 0, &nId);
KGLOG_PROCESS_ERROR(nRetCode && nId == i - 2);
for (int j = 0; j < nSize; j++)
{
char szKey[256];
sprintf(szKey, "%d", j);
nRetCode = pTabFile->GetInteger(i, szKey, 0, &m_nRelation[i - 2][j]);
KGLOG_PROCESS_ERROR(nRetCode != 0);
}
}
bResult = true;
Exit0:
KG_COM_RELEASE(pTabFile);
return bResult;
}
示例6: Init
BOOL KLevelMoneyDropList::Init(char* pszFileName)
{
BOOL bResult = false;
BOOL bRetCode = FALSE;
ITabFile* piTabFile = NULL;
piTabFile = g_OpenTabFile(pszFileName);
if (!piTabFile)
{
KGLogPrintf(KGLOG_ERR, "[KLevelDropList] Failed to open file \"%s\" !\n", pszFileName);
goto Exit0;
}
m_dwSize = piTabFile->GetHeight() - 1;
m_LevelMoneyDropList = new LEVEL_MONEY_DROP[m_dwSize];
KGLOG_PROCESS_ERROR(m_LevelMoneyDropList);
for (DWORD dwIndex = 0; dwIndex < m_dwSize; dwIndex++)
{
bRetCode = piTabFile->GetInteger(dwIndex + 2, DROP_LEVEL, 0,
(int*)&(m_LevelMoneyDropList[dwIndex].nLevel));
KGLOG_PROCESS_ERROR(bRetCode);
bRetCode = piTabFile->GetInteger(dwIndex + 2, DROP_CLASS_ID, 0,
(int*)&(m_LevelMoneyDropList[dwIndex].nClassID));
KGLOG_PROCESS_ERROR(bRetCode);
bRetCode = piTabFile->GetInteger(dwIndex + 2, DROP_MIN_MONEY, 0,
(int*)&(m_LevelMoneyDropList[dwIndex].nMinMoney));
KGLOG_PROCESS_ERROR(bRetCode);
bRetCode = piTabFile->GetInteger(dwIndex + 2, DROP_MAX_MONEY, 0,
(int*)&(m_LevelMoneyDropList[dwIndex].nMaxMoney));
KGLOG_PROCESS_ERROR(bRetCode);
}
bResult = true;
Exit0:
KG_COM_RELEASE(piTabFile);
return bResult;
}
示例7: Reload
BOOL KQuestInfoList::Reload()
{
BOOL bResult = false;
int nRetCode = false;
int nHeight = 0;
ITabFile* piTabFile = NULL;
char szFilePath[MAX_PATH];
DWORD dwQuestID = 0;
KQuestInfo* pQuestInfo = NULL;
nRetCode = (int)snprintf(szFilePath, sizeof(szFilePath), "%s/%s", SETTING_DIR, QUEST_FILE_NAME);
KGLOG_PROCESS_ERROR(nRetCode > 0 && nRetCode < (int)sizeof(szFilePath));
piTabFile = g_OpenTabFile(szFilePath);
KGLOG_PROCESS_ERROR(piTabFile);
nHeight = piTabFile->GetHeight();
KGLOG_PROCESS_ERROR(nHeight > 1);
nRetCode = LoadQuestInfo(piTabFile, 2, &m_DefaultQuestInfo);
KGLOG_PROCESS_ERROR(nRetCode);
m_DailyQuest.clear();
m_RandomQuestGroup.clear();
for (int nIndex = 3; nIndex <= nHeight; nIndex++)
{
KQuestInfo TempQuestInfo;
nRetCode = piTabFile->GetInteger(nIndex, "QuestID", m_DefaultQuestInfo.dwQuestID, (int*)&dwQuestID);
KGLOG_PROCESS_ERROR(nRetCode);
KGLOG_PROCESS_ERROR(dwQuestID < MAX_QUEST_COUNT);
pQuestInfo = GetQuestInfo(dwQuestID);
if (pQuestInfo == NULL)
pQuestInfo = &TempQuestInfo;
nRetCode = LoadQuestInfo(piTabFile, nIndex, pQuestInfo);
KGLOG_PROCESS_ERROR(nRetCode);
m_mapID2QuestInfo[dwQuestID] = *pQuestInfo;
if (pQuestInfo->bDaily)
m_DailyQuest.push_back(pQuestInfo->dwQuestID);
}
nRetCode = LoadRandomQuestGroup();
KGLOG_PROCESS_ERROR(nRetCode);
bResult = true;
Exit0:
KG_COM_RELEASE(piTabFile);
return bResult;
}
示例8: LoadTrack
BOOL KTrackList::LoadTrack(DWORD dwID, KTRACK* pTrack)
{
BOOL bResult = false;
int nRetCode = 0;
ITabFile* piTabFile = NULL;
int nTabHeight = 0;
char szFileName[MAX_PATH];
snprintf(szFileName, sizeof(szFileName), "%s/%s/track%u.tab", SETTING_DIR, TRACK_DIR, dwID);
szFileName[sizeof(szFileName) - 1] = '\0';
piTabFile = g_OpenTabFile(szFileName);
KGLOG_PROCESS_ERROR(piTabFile);
nTabHeight = piTabFile->GetHeight();
KGLOG_PROCESS_ERROR(nTabHeight >= 3);
for (int nLine = 2; nLine <= nTabHeight; nLine++)
{
KCRITICAL_POINT point;
nRetCode = piTabFile->GetInteger(nLine, COL_X, 0, &point.nX);
KGLOG_PROCESS_ERROR(nRetCode == 1);
nRetCode = piTabFile->GetInteger(nLine, COL_Y, 0, &point.nY);
KGLOG_PROCESS_ERROR(nRetCode == 1);
nRetCode = piTabFile->GetInteger(nLine, COL_Z, 0, &point.nZ);
KGLOG_PROCESS_ERROR(nRetCode == 1);
point.nFrame = 0; // 稍后计算
pTrack->push_back(point);
}
bResult = true;
Exit0:
KG_COM_RELEASE(piTabFile);
return bResult;
}
示例9: LoadDoodadTemplate
BOOL KDoodadMgr::LoadDoodadTemplate()
{
BOOL bResult = FALSE;
ITabFile* pFile = g_OpenTabFile(KDF_DOODAD_LIST);
LOG_PROCESS_ERROR(pFile);
// 第一行行是中英文字段头描述
for (INT n = 2; n <= pFile->GetHeight(); ++n)
{
INT nTmp = 0;
KDOODAD_TEMPLATE sDoodadInfo;
CHAR szBuf[MAX_NAME_LEN] = "";
bResult = pFile->GetInteger(n, "TemplateId", KD_BAD_ID, &nTmp);
sDoodadInfo.dwTemplateId = (DWORD)nTmp;
bResult = pFile->GetString(n, "DisplayName", "", szBuf, countof(szBuf));
sDoodadInfo.strDisplayName = szBuf;
bResult = pFile->GetString(n, "Class", "", szBuf, countof(szBuf));
sDoodadInfo.strClassName = szBuf;
bResult = pFile->GetInteger(n, "Visible", KD_BAD_ID, &nTmp);
sDoodadInfo.nVisibleMode = (DWORD)nTmp;
bResult = pFile->GetInteger(n, "RepresentId", KD_BAD_ID, &nTmp);
sDoodadInfo.dwRepresentId = (DWORD)nTmp;
bResult = pFile->GetInteger(n, "ActiveTime", 0, &nTmp);
sDoodadInfo.dwActiveTime = (DWORD)nTmp;
QCONFIRM_RET_FALSE(m_mapDoodadTemplate.insert(std::make_pair(sDoodadInfo.dwTemplateId, sDoodadInfo)).second);
}
bResult = TRUE;
EXIT0:
SAFE_RELEASE(pFile);
return bResult;
}
示例10: Init
BOOL KEntryList::Init()
{
BOOL bResult = false;
int nRetCode = false;
ITabFile* piTabFile = NULL;
int nTabHeight = 0;
char szFileName[PATH_MAX];
snprintf(szFileName, sizeof(szFileName), "%s/EntryList.tab", SETTING_DIR);
szFileName[sizeof(szFileName) - 1] = '\0';
piTabFile = g_OpenTabFile(szFileName);
if (!piTabFile)
{
KGLogPrintf(KGLOG_ERR, "[EntryList] Failed to open entry list file : %s\n", szFileName);
goto Exit0;
}
nTabHeight = piTabFile->GetHeight();
for (int nLine = 2; nLine <= nTabHeight; nLine++)
{
__int64 nKey = 0;
int nMapID = 0;
int nIndex = 0;
KMapEntry EntryInfo;
nRetCode = piTabFile->GetInteger(nLine, "Map", 0, &nMapID);
KGLOG_PROCESS_ERROR(nRetCode == 1);
nRetCode = piTabFile->GetInteger(nLine, "Index", 0, &nIndex);
KGLOG_PROCESS_ERROR(nRetCode == 1);
nRetCode = piTabFile->GetInteger(nLine, "PosX", 0, &EntryInfo.nPosX);
KGLOG_PROCESS_ERROR(nRetCode == 1);
nRetCode = piTabFile->GetInteger(nLine, "PosY", 0, &EntryInfo.nPosY);
KGLOG_PROCESS_ERROR(nRetCode == 1);
nRetCode = piTabFile->GetInteger(nLine, "PosZ", 0, &EntryInfo.nPosZ);
KGLOG_PROCESS_ERROR(nRetCode == 1);
nRetCode = piTabFile->GetInteger(nLine, "Direction", 0, &EntryInfo.nDirection);
KGLOG_PROCESS_ERROR(nRetCode == 1);
nKey = MAKE_INT64(nMapID, nIndex);
m_EntryList[nKey] = EntryInfo;
}
bResult = true;
Exit0:
KG_COM_RELEASE(piTabFile);
if (!bResult)
{
m_EntryList.clear();
}
return bResult;
}
示例11: Init
BOOL FactionManager::Init()
{
INT nRowNum = 0;
// 读取门派技能表
ITabFile* pTabFile = NULL;//g_OpenTabFile(KD_FACTION_SKILL_LIST_TABLE);
//LOG_PROCESS_ERROR(pTabFile);
// 读取门派成长数值表
pTabFile = g_OpenTabFile(KD_FACTION_ABILITY_TABLE);
LOG_PROCESS_ERROR(pTabFile);
nRowNum = pTabFile->GetHeight();
for (INT i = 3; i < nRowNum; i++)
{
INT nFactionId = 0, nRouteId = 0;
pTabFile->GetInteger(i, "FactionId", 0, &nFactionId);
pTabFile->GetInteger(i, "RouteId", 0, &nRouteId);
INT nEnumId = (nFactionId << 16) | nRouteId; // 联合id
if (m_cFactionData.mapFactionGrowthData.find(nEnumId) == m_cFactionData.mapFactionGrowthData.end())
{
m_cFactionData.mapFactionGrowthData.insert(
std::pair<INT, std::vector<CHARACTER_BASE_ATTRIBUTE*> >(nEnumId, std::vector<CHARACTER_BASE_ATTRIBUTE*>())
);
// m_cFactionData.mapFactionGrowthData[nEnumId] = std::vector<CHARACTER_BASE_ATTRIBUTE*>();
}
std::vector<CHARACTER_BASE_ATTRIBUTE*>& arrFactionAbility = m_cFactionData.mapFactionGrowthData[nEnumId];
CHARACTER_BASE_ATTRIBUTE* pBaseAttribute = new CHARACTER_BASE_ATTRIBUTE;
LOG_PROCESS_ERROR(pBaseAttribute);
memset(pBaseAttribute, 0, sizeof(CHARACTER_BASE_ATTRIBUTE));
pTabFile->GetInteger(i, "Level", 0, &pBaseAttribute->nLevel);
pTabFile->GetInteger(i, "Con", 0, &pBaseAttribute->nConstitution);
pTabFile->GetInteger(i, "Str", 0, &pBaseAttribute->nStrength);
pTabFile->GetInteger(i, "Agi", 0, &pBaseAttribute->nAgile);
pTabFile->GetInteger(i, "Int", 0, &pBaseAttribute->nIntelligence);
pTabFile->GetInteger(i, "Spi", 0, &pBaseAttribute->nSpirit);
arrFactionAbility.push_back(pBaseAttribute);
}
return TRUE;
EXIT0:
return FALSE;
}
示例12: Init
BOOL KFightFlagList::Init()
{
char szFile[MAX_PATH];
ITabFile* pTabFile;
BOOL bResult = FALSE;
BOOL bRetCode = FALSE;
int nId = 0;
sprintf(szFile, "%s/%s", SETTING_DIR, RELATION_FORCE_FILE_NAME);
pTabFile = g_OpenTabFile(szFile);
KGLOG_PROCESS_ERROR(pTabFile);
m_nSize = pTabFile->GetHeight() - 1;
KGLOG_PROCESS_ERROR(m_nSize > 0);
m_ForceDefault = new FORCE_DEFAULT[m_nSize];
KGLOG_PROCESS_ERROR(m_ForceDefault);
for (int i = 0; i < m_nSize; i++)
{
bRetCode = pTabFile->GetInteger(i + 2, RELATION_ID, 0, &nId);
KGLOG_PROCESS_ERROR(bRetCode && nId == i);
bRetCode = pTabFile->GetInteger(i + 2, DEFAULT_FLAG, 0, &m_ForceDefault[i].bDefaultFlag);
KGLOG_PROCESS_ERROR(bRetCode);
bRetCode = pTabFile->GetInteger(i + 2, FLAG_IS_LOCKED, 0, &m_ForceDefault[i].bLockedFlag);
KGLOG_PROCESS_ERROR(bRetCode);
bRetCode = pTabFile->GetInteger(i + 2, DEFAULT_REPUTE, 0, &m_ForceDefault[i].nRepute);
KGLOG_PROCESS_ERROR(bRetCode);
}
bResult = TRUE;
Exit0:
return bResult;
}
示例13: ReadExpAwardConfigs
BOOL KAwardSetting::ReadExpAwardConfigs()
{
INT nExpAwardId = 0;
CHAR szPath[_MAX_PATH];
QString szFileTemp;
ITabFile* pExpAwardFile = NULL;
ITabFile* pTabFile = g_OpenTabFile(EXP_AWARD_FILE);
QCONFIRM_RET_FALSE(pTabFile);
for (INT i = 2; i < pTabFile->GetHeight(); i++)
{
pTabFile->GetInteger(i + 1, "ExpAwardId", 0, &nExpAwardId);
pTabFile->GetString(i + 1, "Path", "", szPath, _MAX_PATH);
szFileTemp = EXP_AWARD_FILE_FOLDER;
szFileTemp = szFileTemp + szPath;
pExpAwardFile = g_OpenTabFile(szFileTemp.CStr());
QCONFIRM_RET_FALSE(pExpAwardFile);
MAP_EXP_AWARD mapExpAward;
for (INT j = 2; j < pExpAwardFile->GetHeight(); j++)
{
KExpAward sAward;
pExpAwardFile->GetInteger(j + 1, "Level", 0, &sAward.nLevel);
pExpAwardFile->GetInteger(j + 1, "Percent", 0, &sAward.nPercent);
mapExpAward[sAward.nLevel] = sAward;
}
m_mapExpAwards[nExpAwardId] = mapExpAward;
}
return TRUE;
}
示例14: LoadAllAward
BOOL KAwardMgr::LoadAllAward()
{
BOOL bResult = false;
BOOL bRetCode = false;
ITabFile* piTabFile = NULL;
DWORD dwAwardID = 0;
char szAwardFileName[MAX_PATH];
char szFilePath[MAX_PATH];
std::pair<KAWARD_TABLE_MAP::iterator, bool> InsRet;
KAwardTable* pAwardTable = NULL;
snprintf(szFilePath, sizeof(szFilePath), "%s/%s", SETTING_DIR, "award/award.tab");
szFilePath[sizeof(szFilePath) - 1] = '\0';
piTabFile = g_OpenTabFile(szFilePath);
KGLOG_PROCESS_ERROR(piTabFile);
for (int nRowIndex = 2; nRowIndex <= piTabFile->GetHeight(); nRowIndex++)
{
bRetCode = piTabFile->GetInteger(nRowIndex, "ID", 0, (int*)&dwAwardID);
KGLOG_PROCESS_ERROR(bRetCode > 0);
bRetCode = piTabFile->GetString(nRowIndex, "AwardItem", "", szAwardFileName, sizeof(szAwardFileName));
KGLOG_PROCESS_ERROR(bRetCode > 0);
KGLOG_PROCESS_ERROR(szAwardFileName[0] != '\0');
InsRet = m_AwardTable.insert(std::make_pair(dwAwardID, KAwardTable()));
KGLOG_PROCESS_ERROR(InsRet.second);
pAwardTable = &InsRet.first->second;
bRetCode = LoadOneAward(szAwardFileName, pAwardTable);
if (!bRetCode)
{
KGLogPrintf(KGLOG_DEBUG, "Load award file:%s failed!", szAwardFileName);
goto Exit0;
}
}
bResult = true;
Exit0:
KG_COM_RELEASE(piTabFile);
return bResult;
}
示例15: InitDis
HRESULT KG3DTerrainRepresentInfo::Init()
{
HRESULT hResult = E_FAIL;
HRESULT hRetCode = E_FAIL;
int nHeight = 0;
m_TerrainRepresentInfo.clear();
ITabFile *pTabFile = g_OpenTabFile(s_strConfigFile);
KG_PROCESS_ERROR(pTabFile);
nHeight = pTabFile->GetHeight();
for (int i = 2; i <= nHeight; i++)
{
TerrainRepresentInfo Info;
int nGroundType = 0;
TCHAR strLower[MAX_PATH];
pTabFile->GetString(i, COL_FILENAME, "", Info.strFileName, MAX_PATH);
strcpy_s(strLower, MAX_PATH, Info.strFileName);
_strlwr_s(strLower, MAX_PATH);
DWORD dwHash = g_FileNameHash(strLower);
pTabFile->GetString(i, COL_ANNOTATE, "", Info.strAnnotate, MAX_PATH);
pTabFile->GetInteger(i, COL_TYPE, INVALID_GROUNDTYPE, &nGroundType);
Info.dwType = static_cast<DWORD>(nGroundType);
pTabFile->GetString(i,COL_SFX,"",Info.strSfx[COL_SFX-COL_SFX],MAX_PATH);
pTabFile->GetString(i,COL_SFX1,"",Info.strSfx[COL_SFX1-COL_SFX],MAX_PATH);
pTabFile->GetString(i,COL_SFX2,"",Info.strSfx[COL_SFX2-COL_SFX],MAX_PATH);
pTabFile->GetString(i,COL_SFX3,"",Info.strSfx[COL_SFX3-COL_SFX],MAX_PATH);
pTabFile->GetString(i,COL_SFXTERRAIN,"",Info.strSfxTerrain,MAX_PATH);
pTabFile->GetFloat(i, COL_SFX_RATE, 1.0f, &Info.fSfxPlayRate);//不填默认100%
m_TerrainRepresentInfo[dwHash] = Info;
}
hRetCode = InitDis();
KG_COM_PROCESS_ERROR(hRetCode);
hRetCode = InitDefaultSfx();
KG_COM_PROCESS_ERROR(hRetCode);
hResult = S_OK;
Exit0:
SAFE_RELEASE(pTabFile);
return hResult;
}