2024-06-01 15:57:23 -05:00

61 lines
1.3 KiB
C++

#pragma once
#include "ItemData.h"
class CItemManager : public CSingleton<CItemManager>
{
public:
enum EItemDescCol
{
ITEMDESC_COL_VNUM,
ITEMDESC_COL_NAME,
ITEMDESC_COL_DESC,
ITEMDESC_COL_SUMM,
ITEMDESC_COL_NUM,
};
#ifdef ENABLE_ACCE_COSTUME_SYSTEM
enum EItemScaleCol
{
ITEMSCALE_COL_VNUM,
ITEMSCALE_COL_JOB,
ITEMSCALE_COL_SEX,
ITEMSCALE_COL_SCALE_X,
ITEMSCALE_COL_SCALE_Y,
ITEMSCALE_COL_SCALE_Z,
ITEMSCALE_COL_PARTICLE_SCALE,
};
#endif
public:
typedef std::map<DWORD, CItemData*> TItemMap;
typedef std::map<std::string, CItemData*> TItemNameMap;
public:
CItemManager();
virtual ~CItemManager();
void Destroy();
BOOL SelectItemData(DWORD dwIndex);
CItemData * GetSelectedItemDataPointer();
BOOL GetItemDataPointer(DWORD dwItemID, CItemData ** ppItemData);
/////
bool LoadItemDesc(const char* c_szFileName);
bool LoadItemList(const char* c_szFileName);
bool LoadItemTable(const char* c_szFileName);
#ifdef ENABLE_ACCE_COSTUME_SYSTEM
bool LoadItemScale(const char* szItemScale);
#endif
CItemData * MakeItemData(DWORD dwIndex);
protected:
TItemMap m_ItemMap;
std::vector<CItemData*> m_vec_ItemRange;
CItemData * m_pSelectedItemData;
};
//martysama0134's 2e58d0b8baeb072acdf3afc4a5d1999f