summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2TenantDef.h
blob: 81ff79d0d06c1dd50e2acf98b3eb9169afae399b (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#pragma once
#include "common.h"
#include "T2EquipDef.h"

class AFX_CLASS_EXPORT T2TenantDef : public T2EquipDef {
public:
	T2TenantDef(DWORD, T2PluginSpecifier&, CResFile*, T2WorldDef*, T2TenantPlugin*);
	virtual ~T2TenantDef();
	virtual void GetName(CString&);
	virtual BOOL InitObject(T2Object*);
	virtual BOOL IsTenant() { return true; }
	virtual int CalcPayment(T2TowerDoc*, RECT& inRect, unsigned int);
	virtual unsigned int IdleProc(T2HaveOutViewObject*, T2TowerDoc*);
	virtual void DrawProc(T2HaveOutViewObject*, const RECT& inRect, T2TowerDoc*) const;
	virtual int CalcMentenanceCostProc(const T2HaveOutViewObject*) const;
	virtual AREACHECKCODE AreaCheck(T2TowerDoc*, RECT& inRect, unsigned int, BOOL inShowError);
	virtual void DrawPeople(T2TowerDoc*, T2Equip*);
	virtual BOOL EmergencyProc(T2TowerDoc*, T2Equip*);
	virtual int DrawData(int);
	virtual int DrawAttribute(int);
	virtual BOOL ChangeStatusOnIdle(T2TowerDoc*, T2Tenant*, int);
	virtual void EnterTenant(T2TowerDoc*, T2Tenant*, T2People*);
	virtual void LeaveTenant(T2TowerDoc*, T2Tenant*, T2People*);
	virtual void DoPeopleAnimation(T2TowerDoc*, T2Tenant*);
	virtual void BuildStartProc(T2TowerDoc*, T2Tenant*);
	virtual BOOL GetQTMovieName(T2Tenant*, CString&);

	void SetCustomerTable(T2SubPlugin*);
	void MakeCustomerTableDef(int, const char*);

	BOOL IsFloor() { return IsSetAttribute(kTenantAttrIsFloor); }
	BOOL IsValiableLength() { return IsSetAttribute(kTenantAttrIsValiableLength); }
	BOOL IsHome() { return IsSetAttribute(kTenantAttrIsHome); }
	BOOL IsConcat() { return IsSetAttribute(kTenantAttrIsConcat); }
	BOOL IsPeopleAnime() { return IsSetAttribute(kTenantAttrIsPeopleAnime); }
	int GetEntranceV() { return mEntranceV; }
	int GetEntranceH() { return mEntranceH; }
	int GetExitV() { return mExitV; }
	int GetExitH() { return mExitH; }
	int GetNumOfPattern() const { return mNumOfPattern; }
	int GetNumOfKind() { return mNumOfKind; }
	int GetBelongCapacity() const { return mBelongCapacity; }
	unsigned int GetRegistID() const { return mRegistID; }
	unsigned int GetDownFlag() const { return mDownFlag; }
	int GetSenseOfNoise() const { return mSenseOfNoise; }
	T2PeopleAnimeDef* GetPeopleAnimeDef() const { return mPeopleAnimeDef; }
	T2TenantMemberTableDef* GetEmployeeTableDef() const { return mEmployeeTableDef; }
	T2TenantMemberTableDef* GetCustomerTableDef() const { return mCustomerTableDef; }

	int mNumOfKind;
	int mNumOfPattern;
	int mBelongCapacity;
	int mEntranceV;
	int mEntranceH;
	int mExitV;
	int mExitH;
	int mOpenTime;
	int mCloseTime;
	int mBindTime;
	int m180;
	CString m184;
	int m188;
	T2TenantMemberTableDef *mEmployeeTableDef;
	T2TenantMemberTableDef *mCustomerTableDef;
	BOOL mDrawRoof;
	BOOL mDrawFloor;
	unsigned int mRegistID;
	unsigned int mDownFlag;
	int mSenseOfNoise;
	T2PeopleAnimeDef *mPeopleAnimeDef;
	int m1AC;
	int m1B0;
	int m1B4;

protected:
	float CalcNumOfCustomerUnit();
};