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

📄 gridsystem.h

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

#if !defined(AFX_GRIDSYSTEM_H__C000AFC9_8D29_4467_9118_DF283166EDA1__INCLUDED_)
#define AFX_GRIDSYSTEM_H__C000AFC9_8D29_4467_9118_DF283166EDA1__INCLUDED_

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

class CObject;
class CGridTable;
class CPackedData;
class CBattle;
struct GridPosition;


enum 
{
	FIND_CLOSE=0, 
	FIND_FIRST,
};
class CGridSystem
{
//	int m_nMaxLength;
	CYHHashTable<CObject> m_TempAddList;
//	CGridTable* m_pGridTable;

	CYHHashTable<CGridTable> m_GridTable;

	void RealAddObject(CObject* pObject,VECTOR3* pPos);
	
	CGridTable* GetGridTable(CObject * pObject);
public:
	GETINSTANCE(CGridSystem)

	CGridSystem();
	virtual ~CGridSystem();

	void Init();
	void Release();
	
	void CreateGridTable(DWORD GridID, BYTE Kind, int MaxWidth, int MaxHeight, MAPTYPE MapNum);
	void AddGridTable(DWORD ID, BYTE Kind);
	void DeleteGridTable(DWORD GridID);

	void CalcGridPosition(float x,float z,GridPosition* pOutGridPos);

	void GridProcess();		// 烙矫 府胶飘俊 殿废秦初篮 赤籍甸阑 八荤秦 Init等 赤籍甸父 Add矫难霖促.

	void ChangeGrid(CObject* pObject,VECTOR3* pPos);

	void AddObject(CObject* pObject,VECTOR3* pPos);
	void AddObject(CObject* pObject,VECTOR3* pPos, DWORD GridID);
	void RemoveObject(CObject* pObject);

	MAPTYPE GetGridMapNum(DWORD GridID);

	
	// FALSE甫 馆券窍搁 弊府靛啊 函窍瘤 臼澜
	// TRUE甫 馆券窍搁 dwChangeTime饶俊 捞悼拌魂苞 弊府靛 拌魂阑 秦林绢具 茄促.
	BOOL GetGridChangeTime(CObject* pObject,VECTOR3* pStartPos,VECTOR3* pTargetPos,float MoveSpeed,DWORD& dwChangeTime);


	//////////////////////////////////////////////////////////////////////////
	// 单捞鸥 傈价侩
	void AddGridToPackedData(GridPosition* pGridPosition,CPackedData* pPackedData, CObject* pObject);
	void AddGridToPackedDataWithoutOne(GridPosition* pGridPosition,DWORD dwID,CPackedData* pPackedData, CObject* pObject);

	void AddGridToPackedDataExceptLastGrid(GridPosition* pGridPosition,DWORD ExceptID,CPackedData* pPackedData, CObject* pObject);
	void AddLastGridToPackedDataExceptCurrentGrid(GridPosition* pGridPosition,DWORD ExceptID,CPackedData* pPackedData, CObject* pObject);	



	//////////////////////////////////////////////////////////////////////////
	// AI侩 林函 俊 乐绰 裹困救俊 甸绢柯 啊厘 啊鳖款 敲饭捞绢 茫扁
	CObject* FindPlayerInRange(VECTOR3* pPos,float Range, CObject* pObject,BYTE flag=FIND_CLOSE);
	CObject* FindMonsterInRange(VECTOR3* pPos,float Range, CObject* pObject,BYTE flag=FIND_CLOSE);
};

#endif // !defined(AFX_GRIDSYSTEM_H__C000AFC9_8D29_4467_9118_DF283166EDA1__INCLUDED_)

⌨️ 快捷键说明

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