14#include "../../Source/third_party/nlohmann/json.hpp"
57 for (
const auto& type :
types)
68 std::vector<std::string>
ids;
69 for (
const auto& type :
types)
70 ids.push_back(type.id);
77 std::vector<std::string>
names;
78 for (
const auto& type :
types)
79 names.push_back(type.name);
ComponentTypeID GetComponentTypeID_Static()
EnumCatalogManager - Singleton manager for enum catalogs Loads and manages dynamic type definitions f...
const CatalogType * FindActionType(const std::string &id) const
bool IsValidActionType(const std::string &id) const
std::vector< std::string > GetDecoratorTypes() const
EnumCatalogManager & operator=(const EnumCatalogManager &)=delete
std::vector< std::string > GetActionTypes() const
bool ParseCatalogParameter(const nlohmann::json &j, CatalogParameter ¶m)
bool ValidateCatalog(const EnumCatalog &catalog, std::string &errorMsg)
static EnumCatalogManager & Get()
const CatalogType * FindDecoratorType(const std::string &id) const
bool IsValidDecoratorType(const std::string &id) const
const EnumCatalog * GetActionCatalog() const
bool IsValidConditionType(const std::string &id) const
EnumCatalogManager(const EnumCatalogManager &)=delete
std::vector< std::string > GetConditionTypes() const
bool IsInitialized() const
const EnumCatalog * GetConditionCatalog() const
bool ParseCatalogType(const nlohmann::json &j, CatalogType &type)
std::string GetCatalogsPath() const
bool ParseCatalogJson(const nlohmann::json &j, EnumCatalog &catalog)
const EnumCatalog * GetDecoratorCatalog() const
bool LoadCatalog(const std::string &filepath)
std::string GetLastError() const
std::string m_CatalogsPath
bool LoadCatalogs(const std::string &catalogsPath)
static EnumCatalogManager & Instance()
std::unique_ptr< EnumCatalog > m_ConditionCatalog
std::unique_ptr< EnumCatalog > m_ActionCatalog
const CatalogType * FindConditionType(const std::string &id) const
std::unique_ptr< EnumCatalog > m_DecoratorCatalog
CatalogParameter()=default
CatalogParameter(const std::string &n, const std::string &t, bool req=false, const std::string &def="")
std::vector< CatalogParameter > parameters
std::vector< CatalogType > types
const CatalogType * FindType(const std::string &id) const
std::vector< std::string > GetTypeIds() const
std::vector< std::string > GetTypeNames() const