summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2VisitVIP.h
blob: 5faae544fca4cf9e4a9fa63f070a7788af4192af (plain)
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
#pragma once
#include "common.h"
#include "T2EventItem.h"

enum {
	kVisitVIPStatus0 = 0,
	kVisitVIPStatus1 = 1,
	kVisitVIPStatus2 = 2,
	kVisitVIPStatus3 = 3,
	kVisitVIPStatus4 = 4,
	kVisitVIPStatus5 = 5,
	kVisitVIPStatus6 = 6,
};

class AFX_CLASS_EXPORT T2VisitVIP : public T2EventItem {
public:
	T2VisitVIP(T2TowerEvent* inTowerEvent, CResFile* inResFile, int inSubID);
	T2VisitVIP(T2TowerEvent* inTowerEvent, int inSubID, int inLevelBit, BOOL inExclusive, int inCycleDay, int inBeginTime, int inEndTime);
	virtual ~T2VisitVIP();
	virtual DWORD GetID() { return 'ViEv'; }
	virtual BOOL Start(T2TowerDoc* inDoc);
	virtual int Exec(T2TowerDoc* inDoc);
	virtual BOOL IsBeginTime(unsigned int inTime);
	virtual BOOL IsBeginDay(int inDay);
	virtual void Write(T2Archive& inArchive);
	virtual void Read(T2Archive& inArchive);

	void Init(CResFile* inResFile);
	BOOL DoReception(T2TowerDoc* inDoc);
	BOOL GetDestinationTennant(DWORD inPluginID, T2Tenant*& outTenant, CFilePlugin*& outPlugin, T2PluginSpecifier*& outSpecifier);

protected:
	int mGrade;
	DWORD mTenantPluginID;
	int mArrivalTime;
	int mArriveAnimResID;
	int mSatisfiedSoundID;
	int mDissatisfiedSoundID;
	int mSilhouetteType;
	CString mSatisfiedText;
	CString mDissatisfiedText;
	unsigned int mVisitFlag;
	unsigned int mPeopleID; // who the VIP is
	unsigned int mTenantID;
	int mDaysBeforeNextVisit;
	int mBeginDay;
	BOOL mCheckedIn;
};