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

📄 gridtable.h

📁 墨香最新私服
💻 H
字号:
// GridTable.h: interface for the CGridTable class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GRIDTABLE_H__E9B024E2_95D5_4B3C_902E_5345F31CBF3F__INCLUDED_)
#define AFX_GRIDTABLE_H__E9B024E2_95D5_4B3C_902E_5345F31CBF3F__INCLUDED_

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

class CGrid;
class CObject;
class CPackedData;
struct GridPosition;

class CGridTable  
{
protected:
	BYTE m_Kind;
	DWORD m_ID;
	MAPTYPE m_MapNum;
	
	virtual CGrid* GetGrid(WORD x, WORD z) = 0;
public:
	CGridTable();
	virtual ~CGridTable();
	
	virtual	void Init(DWORD GridID,int MaxWidth,int MaxHeight) = 0;
	virtual DWORD GetGridID() { return m_ID;	}
	virtual void CalcGridPosition(float x,float z,GridPosition* pOutGridPos) = 0;

	virtual void AddObject(CObject* pObject, VECTOR3* pPos) = 0;
	virtual void RemoveObject(CObject* pObject) = 0;

	virtual void AddGridToPackedData(GridPosition* pGridPosition,CPackedData* pPackedData) = 0;
	virtual void AddGridToPackedDataWithoutOne(GridPosition* pGridPosition,DWORD dwID,CPackedData* pPackedData) = 0;
	
	virtual void AddGridToPackedDataExceptLastGrid(GridPosition* pGridPosition,DWORD ExceptID,CPackedData* pPackedData)=0;
	virtual void AddLastGridToPackedDataExceptCurrentGrid(GridPosition* pGridPosition,DWORD ExceptID,CPackedData* pPackedData);

	virtual void SendCurrentObjectInfo(int GridNumX,int GridNumZ,int LastGridNumX,int LastGridNumZ,CObject* pNewObject)=0;
	virtual void SendRemoveObjectInfo(int GridNumX,int GridNumZ,int LastGridNumX,int LastGridNumZ,CObject* pLeavedObject)=0;
	
	// FALSE甫 馆券窍搁 弊府靛啊 函窍瘤 臼澜
	// TRUE甫 馆券窍搁 dwChangeTime饶俊 捞悼拌魂苞 弊府靛 拌魂阑 秦林绢具 茄促.
	virtual BOOL GetGridChangeTime(VECTOR3* pStartPos,VECTOR3* pTargetPos,float MoveSpeed,DWORD& dwChangeTime) = 0;
	
	
	virtual CObject* FindPlayerInRange(CObject* pFinder,GridPosition* pGridPosition,VECTOR3* pPos,float Range, BYTE flag) = 0;
	virtual CObject* FindMonsterInRange(CObject* pFinder,GridPosition* pGridPosition,VECTOR3* pPos,float Range, BYTE flag) = 0;

	virtual BYTE GetKind() { return  m_Kind; };

	virtual void Release() = 0;
	virtual void ChangeGrid(CObject* pObject, VECTOR3* pPos) = 0;
	
	virtual void OnDelete() = 0; 

	void SetMapNum(MAPTYPE mapnum)	{	m_MapNum = mapnum;	}
	MAPTYPE GetMapNum()	{	return m_MapNum;	}


/*	
	void Init(int Bits,int MaxLength);
	void Release();
	
	void AddObject(int nx,int nz,CObject* pObject);
	void RemoveObject(int nx,int nz,CObject* pObject);

	void ChangeGrid(int nx,int nz,CObject* pObject);

	void AddGridToPackedData(int GridNumX,int GridNumZ,CPackedData* pPackedData);
	void AddGridToPackedDataWithoutOne(int GridNumX,int GridNumZ,DWORD dwID,CPackedData* pPackedData);
	
	void AddGridToPackedDataExceptLastGrid(GridPosition* pGridPosition,DWORD ExceptID,CPackedData* pPackedData);
	void AddLastGridToPackedDataExceptCurrentGrid(GridPosition* pGridPosition,DWORD ExceptID,CPackedData* pPackedData);

	void SendCurrentObjectInfo(int GridNumX,int GridNumZ,int LastGridNumX,int LastGridNumZ,CObject* pNewObject);
	void SendRemoveObjectInfo(int GridNumX,int GridNumZ,int LastGridNumX,int LastGridNumZ,CObject* pLeavedObject);
	
	
	
	CObject* FindPlayerInRange(int GridNumX,int GridNumZ,VECTOR3* pPos,float Range, BYTE flag);
*/
};

#endif // !defined(AFX_GRIDTABLE_H__E9B024E2_95D5_4B3C_902E_5345F31CBF3F__INCLUDED_)

⌨️ 快捷键说明

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