DarkflameServer/dDatabase/Tables/CDMovingPlatformComponentTable.h

28 lines
707 B
C
Raw Normal View History

#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__