23#include <unordered_map>
103 std::unordered_map<std::string, TaskSpec>
m_specs;
ComponentTypeID GetComponentTypeID_Static()
Singleton registry mapping task IDs to TaskSpec metadata.
void InitializeBuiltInTasks()
std::vector< TaskSpec > GetTasksByCategory(const std::string &category) const
Returns all tasks belonging to the given category.
static AtomicTaskUIRegistry & Get()
Returns the singleton instance.
std::vector< std::string > GetAllTaskIds() const
Returns all registered task IDs (unordered).
std::vector< TaskSpec > GetSortedForUI() const
Returns all tasks sorted by category then displayName, suitable for building a dropdown or combo box.
std::unordered_map< std::string, TaskSpec > m_specs
const TaskSpec * GetTaskSpec(const std::string &id) const
Returns the TaskSpec for the given id, or nullptr if not found.
void Register(const TaskSpec &spec)
Registers a TaskSpec for the given task ID.
std::vector< std::string > GetAllCategories() const
Returns all unique category names.
< Provides AssetID and INVALID_ASSET_ID
Metadata for a parameter of an atomic task.
std::string name
Parameter name (e.g., "message", "speed")
std::string description
Tooltip/description for the parameter.
std::string type
Parameter type (String, Float, Int, Bool, etc.)
std::string defaultValue
Default value.
Display metadata for a single atomic task type.
std::vector< TaskParameter > parameters
Parameters this task accepts.
std::string id
Task ID (matches AtomicTaskRegistry key)
std::string displayName
Human-readable name (e.g. "Move To Goal")
std::string category
Category for grouping (e.g. "Movement")
std::string description
Short description for tooltip.