1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
#ifndef T2DLL_T2MARU_REGGAE_H
#define T2DLL_T2MARU_REGGAE_H
#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;
};
#endif
|