#pragma once #include "common.h" class AFX_EXT_CLASS 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; };