diff options
Diffstat (limited to 'src/T2DLL/T2MetroRailway.h')
-rw-r--r-- | src/T2DLL/T2MetroRailway.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/T2DLL/T2MetroRailway.h b/src/T2DLL/T2MetroRailway.h new file mode 100644 index 0000000..40a7277 --- /dev/null +++ b/src/T2DLL/T2MetroRailway.h @@ -0,0 +1,35 @@ +#pragma once +#include "common.h" +#include "T2EventItem.h" +#include "T2Transport.h" + +class T2MetroRailway : public T2EventItem, public T2Transport { +public: + T2MetroRailway(T2TowerEvent* inTowerEvent, CResFile* inResFile, int inSubID); + T2MetroRailway(T2TowerEvent* inTowerEvent, int inSubID, int inLevelBit, BOOL inExclusive, int inCycleDay, int inBeginTime, int inEndTime); + virtual ~T2MetroRailway(); + virtual DWORD GetID() { return 'MREv'; } + virtual int Start(T2TowerDoc* inDoc); + virtual int Exec(T2TowerDoc *inDoc); + virtual void StopEvent(T2TowerDoc* inDoc); + virtual BOOL IsBeginTime(unsigned int inTime); + virtual void Write(T2Archive& inArchive); + virtual void Read(T2Archive& inArchive); + virtual void DoSetStatus(int inStatus) { SetStatus(inStatus); } + virtual T2TowerDoc *DoGetTowerDoc() const { return GetTowerDoc(); } + virtual int DoGetBeginTime() { return GetBeginTime(); } + virtual T2WorldDef *DoGetWorldDef() { return GetWorldDef(); } + + void Init(T2Transport* inParent, CResFile* inResFile); + BOOL CreateSpriteObj(T2TowerDoc *inDoc); + void Show(); + void Hide(); + +protected: + int m74; + int mCurrentSprite; + int mTrainSpriteIndices[4]; + T2BitImage *mImage; + T2ImageObj *mImageObj; + BOOL mVisible; +}; |