Unravel Engine C++ Reference
Loading...
Searching...
No Matches
property_path_generator.h
Go to the documentation of this file.
1#pragma once
2
4#include <string>
5#include <vector>
6#include <uuid/uuid.h>
7
8namespace unravel
9{
10
16{
17public:
19
24 void push_segment(const std::string& segment);
25
29 void pop_segment();
30
35 auto get_current_path() const -> std::string;
36 auto get_current_path_with_component_type() const -> std::string;
37
42 void set_component_type(const std::string& type);
43
48 auto get_component_type_name() const -> std::string;
49
54 auto is_prefab_context() const -> bool;
55
60 void set_prefab_context(bool is_prefab);
61
66 void set_entity_uuid(const hpp::uuid& entity_uuid);
67
72 auto get_entity_uuid() const -> hpp::uuid;
73
74
75
76private:
77 std::vector<std::string> path_segments_;
78 std::string component_type_name_;
79 hpp::uuid entity_uuid_;
80 // std::vector<std::string> added_components_;
81 // std::vector<std::string> removed_components_;
82};
83
84} // namespace unravel
manifold_type type
Context holder for tracking the current property path during inspection.
auto get_current_path_with_component_type() const -> std::string
void push_segment(const std::string &segment)
Push a new path segment onto the context stack.
void set_component_type(const std::string &type)
Set the component type for this context.
auto get_component_type_name() const -> std::string
Get the component type name.
auto is_prefab_context() const -> bool
Check if we're currently inspecting a prefab instance.
void pop_segment()
Pop the last path segment from the context stack.
auto get_entity_uuid() const -> hpp::uuid
Get the entity UUID.
void set_prefab_context(bool is_prefab)
Set whether this is a prefab inspection context.
void set_entity_uuid(const hpp::uuid &entity_uuid)
Set the entity UUID for nested entity tracking.
auto get_current_path() const -> std::string
Get the current full property path.