#pragma once #include "common.h" #include "LArray.h" class AFX_CLASS_EXPORT T2MoverModuleList : public LArray { public: T2MoverModuleList(); virtual ~T2MoverModuleList(); virtual BOOL Init(T2MoverDef* moverDef, const RECT& baseRect); virtual void Destruct(T2TowerDoc* towerDoc); virtual void RemoveModule(T2TowerDoc* towerDoc, T2MoverModule*); virtual void StopAdded(T2TowerDoc* towerDoc, T2Mover*, int); virtual void StopRemoved(T2TowerDoc* towerDoc, T2Mover*, int); virtual int GetModuleCount() const; virtual T2MoverModule* ConstructModule(); virtual void Read(T2Archive&, T2TowerDoc* towerDoc); virtual void Write(T2Archive&); BOOL InsertModuleAt(int where, T2MoverModule* module); void AllClear(); unsigned int GetItemCount(); void GetBaseRect(RECT& r) const { r = mBaseRect; } static T2MoverModuleList* ReadMMList(T2Archive&, T2TowerDoc* towerDoc); static void WriteMMList(T2MoverModuleList*, T2Archive&); protected: virtual DWORD GetMMClassID() { return '_MML'; } int mMaxModule; int mModuleCount; RECT mBaseRect; };