DarkflameServer/dDatabase/Tables/CDRailActivatorComponent.h
David Markowitz dc526aeec1 Move away from constructor queries
Fix up other large tables to have proper backup lookups

Revert "idk im just dumb ig"

This reverts commit 5d5be5df53b8959b42b291613d7db749a65a3585.

idk im just dumb ig
2023-07-25 19:10:37 -07:00

33 lines
1.0 KiB
C++

#pragma once
#include "CDTable.h"
struct CDRailActivatorComponent {
int32_t id;
std::u16string startAnimation;
std::u16string loopAnimation;
std::u16string stopAnimation;
std::u16string startSound;
std::u16string loopSound;
std::u16string stopSound;
std::pair<uint32_t, std::u16string> startEffectID;
std::pair<uint32_t, std::u16string> loopEffectID;
std::pair<uint32_t, std::u16string> stopEffectID;
std::string preconditions;
bool playerCollision;
bool cameraLocked;
bool damageImmune;
bool noAggro;
bool showNameBillboard;
};
class CDRailActivatorComponentTable : public CDTable<CDRailActivatorComponentTable> {
public:
void LoadValuesFromDatabase();
static const std::string GetTableName() { return "RailActivatorComponent"; };
[[nodiscard]] CDRailActivatorComponent GetEntryByID(int32_t id) const;
[[nodiscard]] const std::vector<CDRailActivatorComponent>& GetEntries() const;
private:
static std::pair<uint32_t, std::u16string> EffectPairFromString(std::string& str);
std::vector<CDRailActivatorComponent> m_Entries{};
};