当前位置: 首页>>代码示例>>C++>>正文


C++ ITabFile::GetHeight方法代码示例

本文整理汇总了C++中ITabFile::GetHeight方法的典型用法代码示例。如果您正苦于以下问题:C++ ITabFile::GetHeight方法的具体用法?C++ ITabFile::GetHeight怎么用?C++ ITabFile::GetHeight使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ITabFile的用法示例。


在下文中一共展示了ITabFile::GetHeight方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Init

BOOL KGMInfoList::Init()
{
    BOOL        bResult     = false;
    int         nRetCode    = false;
    ITabFile*   piTabFile   = NULL;
    char        szFilePath[MAX_PATH];

    snprintf(szFilePath, sizeof(szFilePath), "%s/%s", SETTING_DIR, GMACCOUNT_LIST_FILE_NAME);
    szFilePath[sizeof(szFilePath) - 1] = '\0';

    piTabFile = g_OpenTabFile(szFilePath);
    KGLOG_PROCESS_ERROR(piTabFile);

    for (int nRowIndex = 2; nRowIndex <= piTabFile->GetHeight(); nRowIndex++)
    {
        GMAccountInfo NewGMAccount;

        piTabFile->GetString(nRowIndex, "szAccount", "", NewGMAccount.szGMAccount, sizeof(NewGMAccount.szGMAccount));
        NewGMAccount.szGMAccount[countof(NewGMAccount.szGMAccount) - 1] = '\0';
        KGLOG_PROCESS_ERROR(NewGMAccount.szGMAccount != '\0');

        m_GMAccountInfoList.push_back(NewGMAccount);
    }

    bResult = true;
Exit0:
    KG_COM_RELEASE(piTabFile);
    return bResult;
}
开发者ID:zhengguo07q,项目名称:GameWorld,代码行数:29,代码来源:KGMInfoList.cpp

示例2: 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;
}
开发者ID:zhengguo07q,项目名称:GameWorld,代码行数:59,代码来源:KQuestInfoList.cpp

示例3: 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;
}
开发者ID:1suming,项目名称:pap2,代码行数:59,代码来源:KEntryList.cpp

示例4: ReadOpenseTemplate

BOOL OpenseSetting::ReadOpenseTemplate()
{
	m_MapOpenseCfg.clear();
	INT nFileHeight = 0;
	ITabFile* tabFile = g_OpenTabFile(OPENSE_FILE_PATH);

	CHAR szFilePath[_MAX_PATH];
	QString szFileTemp;
	ITabFile* pFile = NULL;
	LOG_PROCESS_ERROR(tabFile);

	nFileHeight = tabFile->GetHeight();

	for (INT i = 3; i <= nFileHeight; i++)  // µÚ3ÐÐ
	{
		OpenseCfg* openseTemplate = new OpenseCfg();
		tabFile->GetInteger(i, "id", 0, &openseTemplate->nId);
		tabFile->GetInteger(i, "awardId", 0, &openseTemplate->nAwardId);
		tabFile->GetInteger(i, "autoGive", 0, &openseTemplate->nAutoGive);
		tabFile->GetString(i, "conditionPath", "", szFilePath, _MAX_PATH);

		szFileTemp = OPENSE_DAY_FOLD;
		szFileTemp = szFileTemp + szFilePath;
		pFile = g_OpenTabFile(szFileTemp.CStr());
		QCONFIRM_RET_FALSE(pFile);
		for (int j = 3; j <= pFile->GetHeight(); j++)
		{
			OpenseDayCfg* openseDay = new OpenseDayCfg();
			pFile->GetInteger(j, "id", 0, &openseDay->nId);
			pFile->GetInteger(j, "awardId", 0, &openseDay->nAwardId);
			pFile->GetInteger(j, "finishCount", 0, &openseDay->nFinishCount);
			pFile->GetInteger(j, "autoGive", 0, &openseDay->nAutoGive);

			openseTemplate->mapOpenseDay.insert(std::make_pair(openseDay->nId, openseDay));
		}
		m_MapOpenseCfg.insert(std::make_pair(openseTemplate->nId, openseTemplate));
	}

	return TRUE;

EXIT0:
	return FALSE;
}
开发者ID:github188,项目名称:yol,代码行数:43,代码来源:opensesetting.cpp

示例5: 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;
}
开发者ID:zhengguo07q,项目名称:GameWorld,代码行数:55,代码来源:KQuestInfoList.cpp

示例6: 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;
}
开发者ID:zhengguo85938406,项目名称:GameWorld,代码行数:54,代码来源:KCoolDownList.cpp

示例7: 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;
}
开发者ID:1suming,项目名称:pap2,代码行数:53,代码来源:KTrackList.cpp

示例8: 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;
}
开发者ID:viticm,项目名称:pap2,代码行数:52,代码来源:KBattleFieldQueue.cpp

示例9:

void KG3DAnimationSoundTagInfo::Init()
{
	int nHeight = 0;
	ITabFile *pTabFile = NULL;
    IIniFile *pIniFile = NULL;
    pTabFile = g_OpenTabFile(s_strConfigTabFile);
	KG_PROCESS_ERROR(pTabFile);
	m_SoundType.clear();
	m_AnimationSoundTagInfo.clear();
	for (size_t i = 0 ; i < sizeof(s_strSoundType) / sizeof(TCHAR *) ; i ++)
	{
		std::string strFirst = s_strSoundType[i];
		m_SoundType[strFirst] = i;
	}
	nHeight = pTabFile->GetHeight();
	for (int i = 2 ; i <= nHeight ; i ++)
	{
		AnimationSoundTagInfo Info;
		TCHAR strSoundType[MAX_PATH];
		std::string SoundTypetemp;
		iter it = m_SoundType.begin();
		int nSoundType = 0;
		pTabFile->GetString(i,COL_SOUNDTYPE,"",strSoundType,MAX_PATH);
		pTabFile->GetString(i,COL_FILENAME,"",Info.strFileName,MAX_PATH);
		pTabFile->GetFloat(i,COL_RATE,0.0f,&Info.fRate);
		_strlwr_s(strSoundType,MAX_PATH);
		SoundTypetemp = strSoundType;
		KG_PROCESS_ERROR(m_SoundType.find(SoundTypetemp) != m_SoundType.end());
		Info.soundType = static_cast<SoundType>(m_SoundType[SoundTypetemp]);
		nSoundType = m_SoundType[SoundTypetemp];
		if(m_AnimationSoundTagInfo.find(nSoundType) 
			!= m_AnimationSoundTagInfo.end())
		{
			m_AnimationSoundTagInfo[nSoundType].push_back(Info);
		}
		else
		{
			std::vector<AnimationSoundTagInfo> vec;
			vec.push_back(Info);
			m_AnimationSoundTagInfo[nSoundType] = vec;
		}
	}
	Adjust();
    pIniFile = g_OpenIniFile(s_strConfigIniFile);
    KG_PROCESS_ERROR(pIniFile);
    pIniFile->GetInteger("ROOT","SaveVersion3Data",0,&m_nSaveVersion3Data);
	m_bInit = TRUE;
Exit0:
    SAFE_RELEASE(pTabFile);
    SAFE_RELEASE(pIniFile);
	;
}
开发者ID:1suming,项目名称:pap2,代码行数:52,代码来源:KG3DAnimationSoundTagInfo.cpp

示例10: 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;
}
开发者ID:github188,项目名称:yol,代码行数:36,代码来源:kawardsetting.cpp

示例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;
}
开发者ID:github188,项目名称:yol,代码行数:48,代码来源:factionmanager.cpp

示例12: 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;
}
开发者ID:1suming,项目名称:pap2,代码行数:46,代码来源:KRelationList.cpp

示例13: ReadNpcIntensityTable

BOOL KNpcHelper::ReadNpcIntensityTable()
{
	BOOL bResult = FALSE;
	ITabFile* pFile = g_OpenTabFile(DF_NPC_INTENSITY);
	QCONFIRM_RET_FALSE(pFile);

	DWORD dwNpcID;
	DWORD dwNpcLevel;
	NPC_INTENSITY cIntensity;
	INT nTmp = 0;
	for (INT n = 2; n <= pFile->GetHeight(); ++n)
	{
		pFile->GetInteger(n, "ID", 0, &nTmp);
		dwNpcID = (DWORD)nTmp;
		pFile->GetInteger(n, "Level", 0, &nTmp);
		dwNpcLevel = (DWORD)nTmp;
		cIntensity.nLevel = dwNpcLevel;
		pFile->GetInteger(n, "LevelRate", 0, &cIntensity.nLevelRate);
        pFile->GetInteger(n, "Life", 0, &cIntensity.nNpcHp);
		pFile->GetInteger(n, "LifeReplenish", 0, &cIntensity.nNpcHpReplenish);
		pFile->GetInteger(n, "Mana", 0, &cIntensity.nMana);
		pFile->GetInteger(n, "ManaReplenish", 0, &cIntensity.nManaReplenish);
		pFile->GetInteger(n, "Exp", 0, &cIntensity.nExp);
		pFile->GetInteger(n, "ExpType", 0, &cIntensity.nExpType);
		pFile->GetInteger(n, "Hit", 0, &cIntensity.nHit);
		pFile->GetInteger(n, "Duck", 0, &cIntensity.nDuck);
		pFile->GetInteger(n, "Armor", 0, &cIntensity.nArmor);
		pFile->GetInteger(n, "Attack", 0, &cIntensity.nAttack);
		pFile->GetInteger(n, "Critical", 0, &cIntensity.nCritical);
		pFile->GetInteger(n, "DeCritical", 0, &cIntensity.nDeCritical);
		pFile->GetInteger(n, "WalkSpeed", 0, &cIntensity.nWalkSpeed);
		pFile->GetInteger(n, "RunSpeed", 0, &cIntensity.nRunSpeed);
		pFile->GetInteger(n, "IgnoreDef", 0, &cIntensity.nIgnoreDef);

		if (m_mapNpcIntensityTable.find(dwNpcID) == m_mapNpcIntensityTable.end())
		{
			m_mapNpcIntensityTable[dwNpcID] = std::map<DWORD, NPC_INTENSITY>();
		}

		std::map<DWORD, NPC_INTENSITY>& mapNpcIntensity = m_mapNpcIntensityTable[dwNpcID];
		mapNpcIntensity[dwNpcLevel] = cIntensity;
	}

	SAFE_RELEASE(pFile);
    return TRUE;
}
开发者ID:github188,项目名称:yol,代码行数:46,代码来源:knpchelper.cpp

示例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;
}
开发者ID:zhengguo07q,项目名称:GameWorld,代码行数:44,代码来源:KAwardMgr.cpp

示例15: Init

BOOL KQuestInfoList::Init(void)
{
    BOOL        bResult     = false;
    int         nRetCode    = false;
    int         nHeight     = 0;
    ITabFile*   piTabFile   = NULL;
	char        szFilePath[MAX_PATH];
    std::pair<MAP_ID_2_QUEST_INFO::iterator, bool> InsRet;

	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);

    memset(&m_DefaultQuestInfo, 0, sizeof(m_DefaultQuestInfo));

	nRetCode = LoadQuestInfo(piTabFile, 2, &m_DefaultQuestInfo);
	KGLOG_PROCESS_ERROR(nRetCode);

	for (int nIndex = 3; nIndex <= nHeight; nIndex++)
	{
		KQuestInfo	TempQuestInfo;

		nRetCode = LoadQuestInfo(piTabFile, nIndex, &TempQuestInfo);
		KGLOG_PROCESS_ERROR(nRetCode);

		nRetCode = MakeQuestMap(&TempQuestInfo);
        KGLOG_PROCESS_ERROR(nRetCode);

#ifdef _SERVER
        InsRet = m_mapID2QuestInfo.insert(std::make_pair(TempQuestInfo.dwQuestID, TempQuestInfo));
        KGLOG_PROCESS_ERROR(InsRet.second);
#endif
	}

    bResult = true;
Exit0:
	KG_COM_RELEASE(piTabFile);
	return bResult;
}
开发者ID:viticm,项目名称:pap2,代码行数:44,代码来源:KQuestInfoList.cpp


注:本文中的ITabFile::GetHeight方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。