diff options
Diffstat (limited to 'src/T2DLL/T2Maru_Reggae.h')
-rw-r--r-- | src/T2DLL/T2Maru_Reggae.h | 78 |
1 files changed, 60 insertions, 18 deletions
diff --git a/src/T2DLL/T2Maru_Reggae.h b/src/T2DLL/T2Maru_Reggae.h index 502b042..4184c9a 100644 --- a/src/T2DLL/T2Maru_Reggae.h +++ b/src/T2DLL/T2Maru_Reggae.h @@ -1,27 +1,69 @@ #pragma once #include "common.h" +#include "T2EventItem.h" -class T2Maru_Reggae { +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_EXT_CLASS T2Maru_Reggae : public T2EventItem { public: - T2Maru_Reggae(T2TowerEvent*, CResFile*, int); + T2Maru_Reggae(T2TowerEvent* inTowerEvent, CResFile* inResFile, int inSubID); virtual ~T2Maru_Reggae(); - virtual int Start(T2TowerDoc*); - virtual int Exec(T2TowerDoc*); -private: - int DoReception(T2TowerDoc*); - void MaruReception(T2TowerDoc*, T2People*); - void ReggaeReception(T2TowerDoc*, T2People*); - void MakeClaimMessage(T2TowerDoc*, T2Tenant*, CString&); - T2Tenant* FindTargetTenant(T2TowerDoc*); - unsigned int FindNextTenant(T2TowerDoc*); -public: + 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(); - virtual void Write(T2Archive&); - virtual void Read(T2Archive&); - virtual unsigned long GetID() {} - int IsReggae() {} - T2Maru_Reggae(const T2Maru_Reggae&) {} - T2Maru_Reggae& operator=(const T2Maru_Reggae&) {} + 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; }; |