/** @file AccessRegionPathVerifier.h @brief 使用连通区域进行地图可行走验证
*	Copyright (c) 2007,第九城市游戏研发中心
*	All rights reserved.
*
*	当前版本:
*	作    者:Shi Yazheng
*	完成日期:2009-09-27
*
*	取代版本:
*	作    者:
*	完成日期:
*/

#ifndef ACCESSREGIONPATHVERIFIER_H
#define ACCESSREGIONPATHVERIFIER_H

#include "PathVerifier.h"
class CAccessRegionPathVerifier : public CPathVerifier
{
public:
	// 参数说明
	CAccessRegionPathVerifier(int iMapID, int iSizeX, int iSizeY, 
			unsigned int** ppuiMapInfo, unsigned int** ppuiAccessRegion);
	~CAccessRegionPathVerifier(void);

	// 实现父类的验证函数
	virtual inline bool VerifiyWalkable(
		int iStartX, int iStartY, int iEndX, int iEndY, bool bUseExtraDDATest = true);

protected:
	unsigned int** m_ppuiAccessRegion;		// 二维数组, 第一维表示行数,第二维表示列数。
											// 地图每个 grid 对应一个 32 bit 整数,其中每一位对应是否属于某一连通区域。整张地图最多 32 个区域

};

#include "AccessRegionPathVerifier.inl"

#endif