#pragma once // Custom Classes #include "CDTable.h" #include #include struct CDBehaviorTemplate { unsigned int behaviorID; //!< The Behavior ID unsigned int templateID; //!< The Template ID (LOT) unsigned int effectID; //!< The Effect ID attached std::unordered_set::iterator effectHandle; //!< The effect handle }; class CDBehaviorTemplateTable : public CDTable { private: std::vector entries; std::unordered_map entriesMappedByBehaviorID; std::unordered_set m_EffectHandles; public: void LoadValuesFromDatabase(); // Queries the table with a custom "where" clause std::vector Query(std::function predicate); const std::vector& GetEntries(void) const; const CDBehaviorTemplate GetByBehaviorID(uint32_t behaviorID); };