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/T2RoutingTable.h | |
download | t2win-37e364b2c6cc7487a1c888d256a73e5337bb7189.tar.gz t2win-37e364b2c6cc7487a1c888d256a73e5337bb7189.zip |
initial commit
Diffstat (limited to 'src/T2DLL/T2RoutingTable.h')
-rw-r--r-- | src/T2DLL/T2RoutingTable.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/T2DLL/T2RoutingTable.h b/src/T2DLL/T2RoutingTable.h new file mode 100644 index 0000000..a5596da --- /dev/null +++ b/src/T2DLL/T2RoutingTable.h @@ -0,0 +1,54 @@ +#pragma once +#include "common.h" + +class T2RoutingTable { +public: + T2RoutingTable(T2FloorInfo*, T2FloorPtrList*, int); + virtual ~T2RoutingTable(); + void FloorAdded(); + void FloorRemoved(int); +protected: + int IsRelatedMover(T2Mover*) const; +public: + void MoverAdded(T2Mover*, int); + void MoverRemoved(T2Mover*, int); + void MoverModified(T2Mover*, int); +protected: + void AddItem(T2Mover*); + void RemoveItem(T2Mover*); + T2MoverRoutingTable* GetItem(T2Mover*) const; + int GetElem(T2Mover*, int, T2RoutingTableElem&) const; + int GetIndex(T2Mover*) const; + void Update(); +public: + void FullUpdate(); +protected: + void ClearData(); +public: + int CheckRoute(POINT, POINT, unsigned int) const; + int IsConnectRouteFromLobby(POINT) const; + int GetNextRoute(POINT, POINT&) const; + T2Tenant* SelectNearTenant(POINT, unsigned int) const; +protected: + T2Tenant* SelectNearTenant(T2Tenant*, int, unsigned int) const; + +public: + T2RoutingTable(const T2RoutingTable&) {} + T2RoutingTable& operator=(const T2RoutingTable&) {} +}; +class T2RoutingTableElem { +public: + T2RoutingTableElem(); + ~T2RoutingTableElem(); + int IsStopFloor() const; + void SetTable(unsigned int, int); + int IsSetTable(unsigned int, unsigned int, int, int); + int HasNextRoute(unsigned int) const; + + T2RoutingTableElem& operator=(const T2RoutingTableElem&) {} + unsigned int GetNextFloorID() const {} + unsigned int GetScore() const {} + int GetTime() const {} + int GetFinalHPos() const {} + int HasRoute() const {} +}; |