6#include <unordered_map>
67 void add_override(
const hpp::uuid& entity_uuid,
const std::string& component_path);
75 void add_override(
const hpp::uuid& entity_uuid,
const std::string& component_path,
const std::string& pretty_component_path);
83 auto has_override(
const hpp::uuid& entity_uuid,
const std::string& component_path)
const -> bool;
90 void remove_override(
const hpp::uuid& entity_uuid,
const std::string& component_path);
Hash specialization for batch_key to enable use in std::unordered_map.
Thread-safe handle to an asset.
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.
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