summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2MoverArray.h
blob: a2266c7a8443b8e432b0f6342e6d5db64d59922f (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
#pragma once
#include "common.h"
#include "T2Mover.h"
#include "T2ObjectArray.h"

class AFX_CLASS_EXPORT T2MoverArray : public T2ObjectArray {
public:
	enum { kGroupSize = 32 };

	T2MoverArray(unsigned int inStartID = 1);
	virtual ~T2MoverArray();
	virtual void DispatchIdle(T2TowerDoc* inDoc, int);
	T2Mover* FindUnusedMover();
	void DrawMoverAll(T2TowerDoc* inDoc, const RECT& inRect);
	int CalcMentenanceCost(T2TowerDoc* inDoc) const;
	void Read(T2Archive& inArchive, T2TowerDoc* inDoc);
	void Write(T2Archive& inArchive);

	T2Mover* GetIndexMover(int i) { return &mMover[i]; }

protected:
	friend class T2MoverArrayList;
    friend class T2TowerDoc;
    friend class T2TowerMainView;

	T2Mover mMover[kGroupSize];
};