#ifndef T2DLL_T2OUTSIDEINFO_H #define T2DLL_T2OUTSIDEINFO_H #include "../common.h" class AFX_CLASS_EXPORT T2OutsideInfo { public: T2OutsideInfo(const T2FloorInfo& inFloorInfo); virtual ~T2OutsideInfo(); void SetArea(const RECT& inRect); void FillOutObjID(const RECT& inRect, unsigned int inID); unsigned int GetOutObjID(int inV, int inH) const; BOOL NextOutObj(T2OutObj*& outOutObj); void Read(T2Archive& inArchive); void Write(T2Archive& inArchive); protected: void Reset(); POINT CurrentPt() const; unsigned int GetUnitInfo(int inV, int inH) const; T2OutObj* GetOutObj(int inV, int inH) const; BOOL CalcNextUnitInfo(); BOOL NextValue(unsigned int& outValue); BOOL NextIndex(int& outIndex); LArray *mUnitInfo; RECT mArea; POINT mCurrentPt; int mNextUnitInfo; unsigned int mCurrentOutObjID; const T2FloorInfo &mFloorInfo; }; #endif