mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-23 22:17:31 +00:00
28 lines
707 B
C
28 lines
707 B
C
|
#ifndef __CDMOVINGPLATFORMCOMPONENTTABLE__H__
|
||
|
#define __CDMOVINGPLATFORMCOMPONENTTABLE__H__
|
||
|
|
||
|
#include "CDTable.h"
|
||
|
#include "NiPoint3.h"
|
||
|
|
||
|
#include <optional>
|
||
|
|
||
|
typedef uint32_t ComponentID;
|
||
|
|
||
|
struct CDMovingPlatformTableEntry {
|
||
|
NiPoint3 platformMove;
|
||
|
float moveTime;
|
||
|
bool platformIsSimpleMover;
|
||
|
bool platformStartAtEnd;
|
||
|
};
|
||
|
|
||
|
class CDMovingPlatformComponentTable : public CDTable<CDMovingPlatformComponentTable> {
|
||
|
public:
|
||
|
CDMovingPlatformComponentTable();
|
||
|
|
||
|
void CachePlatformEntry(ComponentID id);
|
||
|
const std::optional<CDMovingPlatformTableEntry> GetPlatformEntry(ComponentID id);
|
||
|
private:
|
||
|
std::map<ComponentID, CDMovingPlatformTableEntry> m_Platforms;
|
||
|
};
|
||
|
#endif //!__CDMOVINGPLATFORMCOMPONENTTABLE__H__
|