5#include <unordered_map>
66 void add_override(
const hpp::uuid& entity_uuid,
const std::string& component_path);
74 void add_override(
const hpp::uuid& entity_uuid,
const std::string& component_path,
const std::string& pretty_component_path);
82 auto has_override(
const hpp::uuid& entity_uuid,
const std::string& component_path)
const -> bool;
89 void remove_override(
const hpp::uuid& entity_uuid,
const std::string& component_path);
auto generate_uuid() -> hpp::uuid
Represents a handle to an asset, providing access and management functions.
CRTP (Curiously Recurring Template Pattern) base structure for components.
Component that holds a reference to a prefab asset and tracks property overrides.
void remove_override(const hpp::uuid &entity_uuid, const std::string &component_path)
Remove a property override.
void clear_overrides()
Clear all overrides (for applying all changes to prefab)
auto has_serialization_override(const std::string &serialization_path) const -> bool
Check if a serialization path has an override (for backward compatibility)
auto has_override(const hpp::uuid &entity_uuid, const std::string &component_path) const -> bool
Check if a property is overridden.
std::set< hpp::uuid > removed_entities
std::set< prefab_property_override_data > property_overrides
Storage of property overrides Each override is identified by entity UUID + component path This allows...
void remove_entity(const hpp::uuid &entity_uuid)
Remove an entity from the prefab.
void add_override(const hpp::uuid &entity_uuid, const std::string &component_path)
Add a property override.
asset_handle< prefab > source
Handle to the prefab asset.
static constexpr bool in_place_delete
auto get_all_overrides() const -> const std::set< prefab_property_ override _data > &
Get all overrides.
Component that provides a unique identifier (UUID) for a prefab.
hpp::uuid id
The unique identifier for the entity.
Represents a property override with entity UUID and component/property path.
prefab_property_override_data()=default
std::string pretty_component_path
auto operator==(const prefab_property_override_data &other) const -> bool
std::string component_path
auto operator<(const prefab_property_override_data &other) const -> bool