gameaction.h

来自「网络游戏魔域的服务端与客户端完整源代码 包括详细的说明文档与开发日志」· C头文件 代码 · 共 51 行

H
51
字号
// GameAction.h: interface for the CGameAction class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GAMEACTION_H__7F7A15BB_A4E8_4B07_A932_4B9ABA6BC9EC__INCLUDED_)
#define AFX_GAMEACTION_H__7F7A15BB_A4E8_4B07_A932_4B9ABA6BC9EC__INCLUDED_

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

class CGameAction  
{
protected:
	CGameAction(PROCESS_ID idProcess)				{ m_idProcess = idProcess; }
	virtual ~CGameAction()							{}
public:
	static CGameAction* CreateNew(PROCESS_ID idProcess)		{ return new CGameAction(idProcess); }
	void	Release()								{ delete this; }

public:
	bool	ProcessAction	(OBJID idAction, CUser* pUser=NULL, IRole* pRole=NULL, CItem* pItem=NULL, LPCTSTR pszAccept=NULL);
protected:
	void	ReplaceAttrStr		(char* pszTarget, const char* pszSource, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept=NULL);
	bool	ProcessActionSys	(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept);
	bool	ProcessActionNpc	(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept);
	bool	ProcessActionMap	(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept);
	bool	ProcessActionItemOnly	(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept);
	bool	ProcessActionItem	(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept);
	bool	ProcessActionNpcOnly	(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept);
	bool	ProcessActionSyn	(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept);
	bool	ProcessActionUser	(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept);
	bool	ProcessActionEvent	(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept);
	bool	ProcessActionWanted	(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept);
	bool	ProcessActionMonster(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pszAccept);
	bool	ProcessActionMagic	(CActionData* pAction, LPCTSTR szParam, CUser* pUser, IRole* pRole, CItem* pItem, LPCTSTR pazAccept);

private:
	CUser*	m_pUser;
	IRole*	m_pRole;
	CItem*	m_pItem;

protected:
	PROCESS_ID	m_idProcess;

protected: // ctrl
	MYHEAP_DECLARATION(s_heap)
};

#endif // !defined(AFX_GAMEACTION_H__7F7A15BB_A4E8_4B07_A932_4B9ABA6BC9EC__INCLUDED_)

⌨️ 快捷键说明

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