#pragma once #include "common.h" #include "T2EquipDef.h" class AFX_EXT_CLASS T2MoverDef : public T2EquipDef { public: T2MoverDef(DWORD, T2PluginSpecifier&, CResFile*, T2WorldDef*, T2MoverPlugin*); virtual ~T2MoverDef(); virtual void GetName(CString&); virtual BOOL InitObject(T2Object*) { return false; } virtual BOOL IsMover() { return true; } virtual CURSORTYPE QueryCursor(T2TowerDoc*, POINT, CString&, RECT&, POINT&, int, unsigned int, int); virtual int CalcMentenanceCostProc(const T2HaveOutViewObject*) const; virtual AREACHECKCODE AreaCheck(T2TowerDoc*, RECT&, unsigned int, int); virtual int ClickProc(T2TowerDoc*, RECT*, unsigned int&); virtual BOOL MakeRequestProc(T2TowerDoc*, T2Equip*); virtual PROCCODE AddModuleProc(T2TowerDoc*, T2Equip*, RECT*); virtual int GetMinMaxRangeProc(T2TowerDoc*, T2Equip*, int); virtual int HandleUpProc(T2TowerDoc*, T2Equip*, POINT); virtual int HandleDownProc(T2TowerDoc*, T2Equip*, POINT); virtual int ClickShaftProc(T2TowerDoc*, T2Equip*, POINT); virtual int CalcModulePatIndex(int numPeople); virtual int CalcModulePosProc(T2Equip*, T2MoverModule*, ERequestUpDown) { return -1; } virtual int CalcModuleRectProc(const T2Mover*, const T2MoverModule*, RECT&, int&) const { return 0; } virtual int IsaKindOfStopProc(T2TowerDoc*, T2Equip*, int, int) const; virtual T2InfoDialog* ShowInfoDialog(T2TowerDoc*, T2Mover*, CPoint); virtual int GetInfoDialogID(T2TowerDoc*, const T2Mover*, PARTCODE, int) const; virtual T2InfoDialog* ConstructInfoDialog(T2Mover*, PARTCODE, int); BOOL InitObject(T2Mover*, const POINT&); int GetMinLength() const { return mMinLength; } int GetMaxLength() const { return mMaxLength; } int GetSpeed(int i) const { return (i >= 0 && i < 3) ? mSpeed[i] : 0; } BOOL IsStair() { return IsSetAttribute(kMoverAttrIsStair); } void GetAddSize(RECT& r) const { r = mAddSize; } int GetDefaultWait() const { return mDefaultWait; } int GetMaxModule() const { return mMaxModule; } void GetModuleInset(RECT& r) const { r = mModuleInset; } int GetMaxStop() const { return mMaxStop; } T2BitImage* GetOffBitMap() const { return mOffBitMap; } int GetScore() const { return mScore; } static unsigned int GetRequiredRequestSpace() { return 4; } protected: RECT mAddSize; int mMaxLength; int mMinLength; int mMaxStop; int mDefaultWait; int mSpeed[3]; int mMaxModule; int m188; int m18C; int m190; int m194; RECT mModuleInset; int mScore; int m1AC; int m1B0[3]; T2BitImage *mOffBitMap; };