| | |
| | | return m_nUnitNo; |
| | | } |
| | | |
| | | int CRecipeList::addRecipePacket(int totalGroup, int currentGroup, const char* pszData, size_t size) |
| | | int CRecipeList::addRecipePacket(int totalCount, int totalGroup, int currentGroup, const char* pszData, size_t size) |
| | | { |
| | | if (m_nToatlGroupCount == 0) m_nToatlGroupCount = totalGroup; |
| | | if (m_nToatlGroupCount != totalGroup) { |
| | | reset(); |
| | | return MRLRC_GROUP_COUNT_NG; |
| | | } |
| | | if (currentGroup == 0) { |
| | | reset(); |
| | | } |
| | | if (m_nCurrentGroupCount + 1 > currentGroup) { |
| | | return MRLRC_DUPLICATION_GROUP_COUNT_NG; |
| | |
| | | for (int i = 0; i < size; i += 4) { |
| | | int index = CToolUnits::toInt16(&pszData[i]); |
| | | short id = CToolUnits::toInt16(&pszData[i + 2]); |
| | | addRecipe(index, id); |
| | | if (index != 0 && id != 0) { |
| | | addRecipe(index, id); |
| | | } |
| | | } |
| | | |
| | | if (m_nCurrentGroupCount == m_nToatlGroupCount) { |
| | |
| | | } |
| | | |
| | | m_ids[index] = id; |
| | | return 0; |
| | | return (int)m_ids.size(); |
| | | } |
| | | |
| | | std::map<int, short>& CRecipeList::getIds() |