82 lines
2.0 KiB
C++
82 lines
2.0 KiB
C++
#pragma once
|
|
|
|
#include "Packet.h"
|
|
|
|
typedef enum
|
|
{
|
|
SHOP_COIN_TYPE_GOLD, // DEFAULT VALUE
|
|
SHOP_COIN_TYPE_SECONDARY_COIN,
|
|
} EShopCoinType;
|
|
|
|
class CPythonShop : public CSingleton<CPythonShop>
|
|
{
|
|
public:
|
|
CPythonShop(void);
|
|
virtual ~CPythonShop(void);
|
|
|
|
void Clear();
|
|
|
|
void SetItemData(DWORD dwIndex, const TShopItemData & c_rShopItemData);
|
|
BOOL GetItemData(DWORD dwIndex, const TShopItemData ** c_ppItemData);
|
|
|
|
void SetItemData(BYTE tabIdx, DWORD dwSlotPos, const TShopItemData & c_rShopItemData);
|
|
BOOL GetItemData(BYTE tabIdx, DWORD dwSlotPos, const TShopItemData ** c_ppItemData);
|
|
|
|
void SetTabCount(BYTE bTabCount) { m_bTabCount = bTabCount; }
|
|
BYTE GetTabCount() { return m_bTabCount; }
|
|
|
|
void SetTabCoinType(BYTE tabIdx, BYTE coinType);
|
|
BYTE GetTabCoinType(BYTE tabIdx);
|
|
|
|
void SetTabName(BYTE tabIdx, const char* name);
|
|
const char* GetTabName(BYTE tabIdx);
|
|
|
|
//BOOL GetSlotItemID(DWORD dwSlotPos, DWORD* pdwItemID);
|
|
|
|
void Open(BOOL isPrivateShop, BOOL isMainPrivateShop);
|
|
void Close();
|
|
BOOL IsOpen();
|
|
BOOL IsPrivateShop();
|
|
BOOL IsMainPlayerPrivateShop();
|
|
|
|
void ClearPrivateShopStock();
|
|
|
|
void AddPrivateShopItemStock(TItemPos ItemPos, BYTE dwDisplayPos, DWORD dwPrice
|
|
#ifdef ENABLE_CHEQUE_SYSTEM
|
|
, DWORD dwCheque
|
|
#endif
|
|
);
|
|
void DelPrivateShopItemStock(TItemPos ItemPos);
|
|
int GetPrivateShopItemPrice(TItemPos ItemPos);
|
|
#ifdef ENABLE_CHEQUE_SYSTEM
|
|
int GetPrivateShopItemCheque(TItemPos ItemPos);
|
|
#endif
|
|
void BuildPrivateShop(const char * c_szName);
|
|
|
|
protected:
|
|
BOOL CheckSlotIndex(DWORD dwIndex);
|
|
|
|
protected:
|
|
BOOL m_isShoping;
|
|
BOOL m_isPrivateShop;
|
|
BOOL m_isMainPlayerPrivateShop;
|
|
|
|
struct ShopTab
|
|
{
|
|
ShopTab()
|
|
{
|
|
coinType = SHOP_COIN_TYPE_GOLD;
|
|
}
|
|
BYTE coinType;
|
|
std::string name;
|
|
TShopItemData items[SHOP_HOST_ITEM_MAX_NUM];
|
|
};
|
|
|
|
BYTE m_bTabCount;
|
|
ShopTab m_aShoptabs[SHOP_TAB_COUNT_MAX];
|
|
|
|
typedef std::map<TItemPos, TShopItemTable> TPrivateShopItemStock;
|
|
TPrivateShopItemStock m_PrivateShopItemStock;
|
|
};
|
|
//martysama0134's 2e58d0b8baeb072acdf3afc4a5d1999f
|