⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 itemslot.h

📁 墨香最新私服
💻 H
字号:
// ItemSlot.h: interface for the CItemSlot class.
// created by taiyo
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ITEMSLOT_H__8056E436_4AA0_474D_AFFB_BA0ED84B6697__INCLUDED_)
#define AFX_ITEMSLOT_H__8056E436_4AA0_474D_AFFB_BA0ED84B6697__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


enum UPDATE_BIT{ UB_DBIDX = 1, UB_ICONIDX=2, UB_ABSPOS=4, UB_QABSPOS=8, UB_DURA=16, UB_ALL=31, };
enum ERROR_ITEM { EI_TRUE = 0, EI_OUTOFPOS = 1, EI_NOTEQUALDATA, EI_EXISTED, EI_NOTEXIST, EI_LOCKED, EI_PASSWD, EI_NOTENOUGHMONEY, EI_NOSPACE, EI_MAXMONEY };
// SS_LOCKOMIT À» ¼öÇàÇÑ ÇÔ¼ö ÈÄ¿¡ ¶ôÀÌ Ç®¸°´Ù. 
// ÁÖÀÇ : Updateitemabsµµ ¶ôÀÌ Ç®¸°´Ù!
enum SLOT_STATE { SS_NONE = 0, SS_PREINSERT=1, SS_LOCKOMIT = 2, };

class CPlayer;
class CPurse;

class CItemSlot  
{
public:
	CItemSlot();
	virtual ~CItemSlot();

	virtual void Init(POSTYPE startAbsPos, POSTYPE slotNum, ITEMBASE * pInfo, SLOTINFO * pSlotInfo);
	void Release();
	
	virtual ITEMBASE const * GetItemInfoAbs(POSTYPE absPos);
	void GetItemInfoAll(ITEMBASE * pItemBaseAll);
	void SetItemInfoAll(ITEMBASE * pItemBaseAll);
	char * _ToStringSlot();

	//virtual ERROR_ITEM InsertItemAbs(POSTYPE absPos, ITEMBASE * pItem, WORD state=SS_NONE);
	//virtual ERROR_ITEM UpdateItemAbs(POSTYPE whatAbsPos, DWORD dwDBIdx, WORD wItemIdx, POSTYPE position, POSTYPE quickPosition, DURTYPE Dur, WORD flag=UB_ALL);
	//virtual ERROR_ITEM DeleteItemAbs(POSTYPE absPos, ITEMBASE * pItemOut);

	virtual ERROR_ITEM UpdateItemAbs(CPlayer * pPlayer, POSTYPE whatAbsPos, DWORD dwDBIdx, WORD wItemIdx, POSTYPE position, POSTYPE quickPosition, DURTYPE Dur, WORD flag=UB_ALL, WORD state=SS_NONE);
	virtual ERROR_ITEM InsertItemAbs(CPlayer * pPlayer, POSTYPE absPos, ITEMBASE * pItem, WORD state=SS_NONE);
	virtual ERROR_ITEM DeleteItemAbs(CPlayer * pPlayer, POSTYPE absPos, ITEMBASE * pItemOut, WORD state=SS_NONE);
		

	POSTYPE GetStartPos() { return m_StartAbsPos; }
	POSTYPE GetSlotNum() { return m_SlotNum; }
	inline virtual BOOL IsEmpty(POSTYPE absPos);

	CPurse*	GetPurse() { return m_pPurse; }
	MONEYTYPE GetMoney();

//	virtual MONEYTYPE Addition(MONEYTYPE money);
//	virtual MONEYTYPE Subtraction(MONEYTYPE money);

	/* purse func */
	BOOL CreatePurse( CPurse* pNewPurse, void* pOwner, MONEYTYPE money, MONEYTYPE max = MAXMONEY );

	virtual BOOL IsAddable(POSTYPE absPos, ITEMBASE * pItemBase){	return TRUE;	}
	virtual WORD GetEmptyCell(WORD * EmptyCellPos, WORD NeedCount = 1) { return 0; }
	virtual void SetLock(POSTYPE absPos, BOOL val);
	virtual BOOL IsLock(POSTYPE absPos);

	virtual WORD GetItemCount();
	
protected:
	virtual inline BOOL IsEmptyInner(POSTYPE absPos);
	virtual inline BOOL IsPosIn(POSTYPE absPos);
	virtual inline BOOL IsPassword(POSTYPE absPos);

	ITEMBASE *		m_ItemBaseArray;
	SLOTINFO *		m_SlotInfoArray;
	POSTYPE			m_StartAbsPos;
	POSTYPE			m_SlotNum;						// SlotÀÇ °¹¼ö

	/* purse value */
	CPurse*			m_pPurse;
};

#endif // !defined(AFX_ITEMSLOT_H__8056E436_4AA0_474D_AFFB_BA0ED84B6697__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -