diff options
author | Ash Wolf <ninji@wuffs.org> | 2023-06-14 00:50:34 +0100 |
---|---|---|
committer | Ash Wolf <ninji@wuffs.org> | 2023-06-14 00:50:34 +0100 |
commit | 37e364b2c6cc7487a1c888d256a73e5337bb7189 (patch) | |
tree | eaf6e857382eef16c2dd940eb4125536fbe068bd /src/T2DLL/T2FloorInfo.h | |
download | t2win-37e364b2c6cc7487a1c888d256a73e5337bb7189.tar.gz t2win-37e364b2c6cc7487a1c888d256a73e5337bb7189.zip |
initial commit
Diffstat (limited to '')
-rw-r--r-- | src/T2DLL/T2FloorInfo.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/T2DLL/T2FloorInfo.h b/src/T2DLL/T2FloorInfo.h new file mode 100644 index 0000000..b292900 --- /dev/null +++ b/src/T2DLL/T2FloorInfo.h @@ -0,0 +1,86 @@ +#pragma once +#include "common.h" + +class T2FloorInfo { +public: + T2FloorInfo(const T2WorldDef*); + virtual ~T2FloorInfo(); + int UnitToFloor(int) const; + void InitMask(CResFile&); + void Read(T2Archive&, T2TowerDoc*); + void Write(T2Archive&); +protected: + int IsValidRange(const RECT&) const; +public: + int IsAreaBuildable(const RECT&); + int IsAllTenant(const RECT&); + int IsThereNoFloorTenant(const RECT&); + int IsThereMover(const RECT&); + int IsThereOtherKindMover(const RECT&, int); + int IsEnoughSideSpace(const RECT&); + T2Tenant* GetTenant(unsigned int) const; + T2Tenant* GetTenant(int, int) const; + T2Tenant* GetPoolTenant() const; + T2Tenant* GetFloor(int, int) const; + T2Mover* GetMover(unsigned int); + T2Mover* GetMover(int, int); + T2MoverModule* GetModule(unsigned int) const; + T2Request* GetRequest(unsigned int) const; + T2Request* GetRequest(int, int) const; + T2People* FindPeople(int, int) const; + T2OutObj* GetOutObj(int, int) const; + T2OutObj* GetIndOutObj(unsigned int) const; + T2Tenant* FindUnusedTenant(); + T2Mover* FindUnusedMover(); + T2Request* FindUnusedRequest(); + T2OutObj* FindUnusedOutObj(); + unsigned int GetTenantID(int, int) const; + unsigned int GetFloorID(int, int); + unsigned int GetEntranceFloorID(unsigned int); + POINT GetEntrancePt(unsigned int); + unsigned int GetMoverID(int, int); + unsigned int GetRequestID(int, int) const; + unsigned int GetOutObjID(int, int) const; + T2UnitInfo* GetUnitInfo(int, int) const; + void FillTenantID(const RECT&, unsigned int); + void ReplaceFloorID(const RECT&, unsigned int, unsigned int); + void FillMoverID(const RECT&, unsigned int); + void FillRequestID(const RECT&, unsigned int); + int FillRequestID(POINT, ERequestUpDown, unsigned int); + void RemoveRequestID(ERequestUpDown, const RECT&); + void FillOutObjID(const RECT&, unsigned int); + unsigned int FindTenantID(int, int, int, int, unsigned int); +protected: + int CalcRequestRightEnd(POINT, int); + int CalcRequestLeftEnd(POINT, int); +public: + int GetLeftMoverID(POINT, int) const; + void UpdeteRequestByUnionFloor(T2Tenant*, POINT); + void MoverAreaAdded(const RECT&, unsigned int); + void MoverAreaRemoved(const RECT&); + void UpdeteRequestByBuildMover(const RECT&); + void UpdeteRequestByRemoveMover(const RECT&); + unsigned int GetNextTenantNumber(int); + void SetTenantNumber(int, unsigned int); + T2Tenant* FindNumberredTenant(int, unsigned int); + void FinishBuildFloor(T2TowerDoc*, const RECT&); + void SetTenantDrawModeByRect(const RECT&, int); + void UpdateFloorCEArray(const RECT&, unsigned int, unsigned int); + int CalcMentenanceCost(T2TowerDoc*) const; + T2Tenant* GetTenantByPID(unsigned long); + int BuildFinishForce(const RECT&); + + int GetVRange() const {} + int GetHRange() const {} + int GetGroundLine() const {} + int GetTopFloorLine() const {} + int GetBottomFloorLine() const {} + int GetEntranceWidth() const {} + void GetBuildArea(RECT&) const {} + void GetFloorArea(RECT&) const {} + T2TenantArrayList* GetTenantArrayList() const {} + T2MoverArrayList* GetMoverArrayList() const {} + T2RequestArrayList* GetRequestArrayList() const {} + T2OutObjArrayList* GetOutObjArrayList() const {} + T2OutsideInfo* GetOutsideInfo() const {} +}; |