From 37e364b2c6cc7487a1c888d256a73e5337bb7189 Mon Sep 17 00:00:00 2001 From: Ash Wolf Date: Wed, 14 Jun 2023 00:50:34 +0100 Subject: initial commit --- src/T2DLL/T2Matter.h | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/T2DLL/T2Matter.h (limited to 'src/T2DLL/T2Matter.h') diff --git a/src/T2DLL/T2Matter.h b/src/T2DLL/T2Matter.h new file mode 100644 index 0000000..60caed3 --- /dev/null +++ b/src/T2DLL/T2Matter.h @@ -0,0 +1,81 @@ +#pragma once +#include "common.h" +#include "T2DrawableObject.h" + +class T2Matter : public T2DrawableObject { +public: + T2Matter(); + + virtual ~T2Matter(); + virtual void SetUsed(BOOL); + void Initialize(T2MatterDef*); + void FlipDirection(); + void SetDestination(unsigned int, unsigned int); + void ClearDestination(); + BOOL IsStartTime(unsigned int) const; + BOOL IsSetReturn() const; + BOOL IsSetReturnTime() const; + unsigned int GetReturnTime() const; + unsigned int GetReturn() const; + BOOL SetReturn(unsigned int tenant, unsigned int time); + void SetReturnTime(unsigned int); + BOOL PopReturn(unsigned int& outTenant, unsigned int& outTime); + BOOL SetReturnToDestination(); + BOOL SetDestinationToReturn(); + void DayChanged(); + BOOL RemoveReturn(unsigned int); + + unsigned int GetMatterID() { return mMatterID; } + T2MatterDef* GetMatterDef() const { return mMatterDef; } + BOOL IsFront() { return m44 == 0; } + BOOL IsLast() { return m48 == 0; } + unsigned int GetWorkTenant() const { return mWorkTenant; } + unsigned int GetHomeTenant() const { return mHomeTenant; } + unsigned int GetCurrEquipID() const { return mCurrEquipID; } + void SetWorkTenant(unsigned int v) { mWorkTenant = v; } + void SetHomeTenant(unsigned int v) { mHomeTenant = v; } + void SetCurrEquipID(unsigned int v) { mCurrEquipID = v; } + unsigned int GetDstTenant() { return mDstTenant; } + POINT GetCurPosition() const { return mCurPosition; } + void SetDirection(int v) { mDirection = v; } + int GetDirection() const { return mDirection; } + int GetWalkStyle() const { return mWalkStyle; } + void MoveHTo(int v) { mCurPosition.x = v; } + void MoveVTo(int v) { mCurPosition.y = v; } + POINT GetCurrDestPos() const { return mCurrDestPos; } + void SetCurrDestPos(POINT pt) { mCurrDestPos = pt; } + BOOL InDestFloor() const { + return mCurPosition.y == mCurrDestPos.y; + } + BOOL IsGoDown() const { + return mCurrDestPos.y > mCurPosition.y; + } + BOOL IsSetStartTime() const { return mStartTime > -1; } + BOOL IsSetDestination() const { return mDstTenant != 0; } + unsigned int GetDestination() const { return mDstTenant; } + void SetStartTime(unsigned int v) { mStartTime = v; } + +private: + void Initialize(); + +protected: + virtual void LoadSelf(T2Archive&, T2TowerDoc*); + virtual void SaveSelf(T2Archive&); + + friend class T2MatterArray; + unsigned int mMatterID; + T2MatterDef *mMatterDef; + int m18; + unsigned int mWorkTenant; + unsigned int mHomeTenant; + unsigned int mCurrEquipID; + unsigned int mDstTenant; + POINT mCurPosition; + POINT mCurrDestPos; + int mStartTime; + T2ReturnStack *mReturnStack; + int m44; + int m48; + int mDirection; + int mWalkStyle; +}; -- cgit v1.2.3