bool CFCMReadFile::ParsingTextFile(CString szDelimiter) { if(!IsOpen()) { return false; } CString szLine; ResetData(); m_nCols = GetNumberColums(szDelimiter); while(!Eof()) { if(ReadLine(szLine)) { ++m_nRows; ParsingLine(szLine, szDelimiter); } }; return true; }
DIALOGUE* cDialogueList::GetDialogue( DWORD dwMsgId, WORD wLine ) // 다이얼로그 정보를 반환하는 함수. { MessageMap::iterator messageIterator = mMessageMap.find(dwMsgId); if(mMessageMap.end() == messageIterator) { // 091216 ShinJS --- Pasring 되어 있지 않은 경우 저장된 NpcMsgData를 Parsing 한다. NpcMsgDataKey dataKey( dwMsgId, 0 ); NpcMsgData::const_iterator iter = m_NpcMsgData.find( dataKey ); while( iter != m_NpcMsgData.end() ) { const std::string &npcMsg = iter->second; ParsingLine( dwMsgId, npcMsg.c_str()); dataKey.second = dataKey.second + 1; iter = m_NpcMsgData.find( dataKey ); } messageIterator = mMessageMap.find( dwMsgId ); if(mMessageMap.end() == messageIterator) return 0; } DialogMap& dialogMap = messageIterator->second; DialogMap::iterator dialogIteartor = dialogMap.find(wLine); if(dialogMap.end() == dialogIteartor) { return 0; } return &(dialogIteartor->second); }