summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2PeopleTimeZoneList.h
blob: 8b5ee21266ea528b570e24b8f9201a294de53b8b (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
#ifndef T2DLL_T2PEOPLETIMEZONELIST_H
#define T2DLL_T2PEOPLETIMEZONELIST_H
#include "../common.h"
#include "LArray.h"

class AFX_CLASS_EXPORT T2PeopleTimeZoneList : public LArray {
public:
	T2PeopleTimeZoneList(unsigned int someNum, unsigned int isFixed, T2WorldDef* worldDef);
	T2PeopleTimeZoneList(T2Archive&, T2WorldDef*);
	virtual ~T2PeopleTimeZoneList();
	void Add(T2PeopleType* inPeopleType, T2PoolDefDemandElem* inDemandElem);
	void Init(unsigned int inHour, float limit);
	void IncHour(float limit);
	BOOL Find(T2TenantMemberDef* inTenantMemberDef, int inEconoType, unsigned int inTransportType, BOOL inCheckOnlyFirstEconoType) const;
	BOOL Call(T2TenantMemberDef* inTenantMemberDef, int inEconoType, unsigned int inTransportType, T2PeopleType& outPeopleType);
	void DispatchRestore(T2PeopleType&);
	void DispatchAdd(T2PeopleType*);
	void Write(T2Archive&);

	BOOL IsFixed() const;

protected:
	void Add(T2PeopleTypeArray* inArray);
	T2PeopleTypeArray* GetItem(int index) const;
	T2PeopleTypeArray* CurrentItem() const;

	int GetNumOfTimeZone() const;

	BOOL _20;
	BOOL mIsFixed;
	int mHoursPerItem;
	int mCurrentItem;
	int mCurrentHour;
	T2WorldDef *mWorldDef;

	friend class T2PoolView;
};

inline BOOL T2PeopleTimeZoneList::IsFixed() const {
    return mIsFixed;
}

inline int T2PeopleTimeZoneList::GetNumOfTimeZone() const {
    return GetCount();
}
#endif