BOOL ItemManager::CreateItem(ITEM_LOG_PARAM* pLogParam,_ITEM_TYPE it,_ITEM& item,INT iQuality/* =1 */) { __ENTER_FUNCTION Assert(pLogParam); Assert(it.isNull() == FALSE); switch(it.m_Class) { case ICLASS_EQUIP: return _CreateEquipFromTable(pLogParam,it, iQuality,item); break; case ICLASS_MATERIAL: return _CreateMedicFromTable(it,item); break; case ICLASS_COMITEM: return _CreateMedicFromTable(it,item); break; case ICLASS_TASKITEM: return _CreateMedicFromTable(it,item); break; case ICLASS_GEM: return _CreateGemFromTable(it,item); break; case ICLASS_STOREMAP: return _CreateStoreMapFromTable(it,item); break; case ICLASS_TALISMAN: Assert(FALSE); break; case ICLASS_GUILDITEM: Assert(FALSE); break; default: Assert(FALSE); return FALSE; } Assert(item.IsNullType() == FALSE); __LEAVE_FUNCTION return FALSE; }
//直接从ItemBoxManager::ConvertItemType2Index抄过来 INT ShopMgr::ConvertItemType2Money(_ITEM_TYPE it) { __ENTER_FUNCTION Assert(it.isNull() == FALSE); switch(it.m_Class) { case ICLASS_EQUIP: { switch(it.m_Quality) { case EQUALITY_NORMAL: { COMMON_EQUIP_TB* pGET = g_ItemTable.GetWhiteItemTB(it.ToSerial()); Assert(pGET); return pGET->m_BasePrice; } break; case EQUALITY_BLUE: { BLUE_EQUIP_TB* pGET = g_ItemTable.GetBlueItemTB(it.ToSerial()); Assert(pGET); return pGET->m_BasePrice; } break; case EQUALITY_YELLOW: { } break; case EQUALITY_GREEN: { GREEN_EQUIP_TB* pGET = g_ItemTable.GetGreenItemTB(it.ToSerial()); Assert(pGET); return pGET->m_BasePrice; } break; default: { Assert(FALSE); return FALSE; } } Assert(FALSE); } break; case ICLASS_MATERIAL: case ICLASS_COMITEM: { COMMITEM_INFO_TB* pGET = g_ItemTable.GetCommItemInfoTB(it.ToSerial()); Assert(pGET); return pGET->m_nBasePrice; } break; case ICLASS_TASKITEM: { return 1; } break; case ICLASS_GEM: { GEMINFO_TB* pGET = g_ItemTable.GetGemInfoTB(it.ToSerial()); Assert(pGET); return pGET->m_nPrice; } break; case ICLASS_STOREMAP: { STORE_MAP_INFO_TB* pGET = g_ItemTable.GetStoreMapTB(it.ToSerial()); Assert(pGET); return pGET->m_nBasePrice; break; } case ICLASS_TALISMAN: Assert(FALSE); break; case ICLASS_GUILDITEM: Assert(FALSE); break; default: Assert(FALSE); break; } Assert(FALSE); __LEAVE_FUNCTION return -1; }