#pragma once #include "common.h" #include "T2EventItem.h" class T2Guardman; enum { kMaruReggaeStatus0 = 0, kMaruReggaeStatus1 = 1, kMaruReggaeStatus2 = 2, kMaruReggaeStatus3 = 3, kMaruReggaeStatus4 = 4, kMaruReggaeStatus5 = 5, kMaruReggaeStatus6 = 6, kMaruReggaeStatus7 = 7, kMaruReggaeStatus8 = 8, kMaruReggaeStatus9 = 9, kMaruReggaeStatus10 = 10, kMaruReggaeStatus11 = 11, }; class AFX_CLASS_EXPORT T2Maru_Reggae : public T2EventItem { public: T2Maru_Reggae(T2TowerEvent* inTowerEvent, CResFile* inResFile, int inSubID); virtual ~T2Maru_Reggae(); virtual DWORD GetID() { return 'MaEv'; } virtual BOOL Start(T2TowerDoc* inDoc); virtual int Exec(T2TowerDoc* inDoc); virtual void Write(T2Archive& inArchive); virtual void Read(T2Archive& inArchive); T2People* GetReggaeMan(); T2Tenant* GetVisitTenant(); BOOL IsReggae() { return mIsReggae; } private: BOOL DoReception(T2TowerDoc* inDoc); void MaruReception(T2TowerDoc* inDoc, T2People* inPeople); void ReggaeReception(T2TowerDoc* inDoc, T2People* inPeople); void MakeClaimMessage(T2TowerDoc* inDoc, T2Tenant* inTenant, CString& outStr); T2Tenant* FindTargetTenant(T2TowerDoc* inDoc); unsigned int FindNextTenant(T2TowerDoc* inDoc); int mAnimResID; int mSilhouetteType; int mTargetTenantCategory; int m3C; CString mReggaeName; unsigned int mReggaeManID; unsigned int mVisitTenantID; int mLastStatus; unsigned int mLastMinutes; unsigned int mCounter; BOOL mDidSetSilhouetteDef; BOOL mDidChangeDirection; BOOL mIsReggae; T2Guardman *mGuardman; }; class T2Guardman { public: T2Guardman(T2Maru_Reggae *inOwner, T2TowerDoc *inDoc, T2Tenant *inTenant); ~T2Guardman(); BOOL DoReception(T2TowerDoc *inDoc); void GoHome(); T2Maru_Reggae *mOwner; T2People *mPeople; };