summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2FloorInfo.h
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2023-06-14 00:50:34 +0100
committerAsh Wolf <ninji@wuffs.org>2023-06-14 00:50:34 +0100
commit37e364b2c6cc7487a1c888d256a73e5337bb7189 (patch)
treeeaf6e857382eef16c2dd940eb4125536fbe068bd /src/T2DLL/T2FloorInfo.h
downloadt2win-37e364b2c6cc7487a1c888d256a73e5337bb7189.tar.gz
t2win-37e364b2c6cc7487a1c888d256a73e5337bb7189.zip
initial commit
Diffstat (limited to '')
-rw-r--r--src/T2DLL/T2FloorInfo.h86
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 {}
+};