Accessor is ready for ECS

This commit is contained in:
2024-10-02 23:09:01 +03:00
parent 794857209d
commit b0613d9ad1
3 changed files with 166 additions and 66 deletions

View File

@@ -21,12 +21,13 @@ public:
float line_offset;
float normal_offset;
float y_rotation;
float y_offset;
static void from_dict(struct line_building_data *b,
const Dictionary &from);
Dictionary to_dict() const;
};
private:
public:
struct line_segment {
Vector3 p1;
Vector3 p2;
@@ -57,10 +58,17 @@ private:
public:
const struct road_line &get_line(const String &key) const;
struct road_line &get_line(const String &key);
const struct road_line &lines(const String &key) const;
struct road_line &lines(const String &key);
void set_line(const String &key, const struct road_line &line);
bool has_line(const String &key);
void insert_line_point(const String &key, int index,
const Transform &xform);
void erase_line_point(const String &key, int index);
void set_line_point_position(const String &key, int index,
const Vector3 &position);
void clear_all_line_indices();
void clear_line_indices(const String &key);
void set_line_metadata(const String &key, const Dictionary &metadata);
static RoadLinesData *get_singleton();
virtual ~RoadLinesData();
@@ -80,7 +88,7 @@ public:
void update_line_segments(const String &line);
void line_add_building(const String &line, const String &key,
float curve_offset, float normal_offset,
float y_rotation);
float y_rotation, float y_offset);
void assign_close_buildings(const String &line);
bool line_has_building(const String &line, const String &building_key);
Vector3 get_point_by_offsets(const String &line, float dir_offset,
@@ -101,7 +109,7 @@ private:
void dump_road_lines(const std::vector<Vector3> &road_lines_nodes);
void road_lines_curve_index(
struct RoadLinesData::road_line &rline,
const String &key,
std::unordered_map<uint32_t, std::vector<Vector3> >
&road_lines_nodes_hash,
std::vector<Vector3> &road_lines_nodes);