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

@@ -724,10 +724,7 @@ void RoadLinesEditor::line_create_point()
Vector3 position = get_cursor_position();
Transform xform(Basis(), position);
int index = get_line_index();
rld->lines(current_line)
.points.insert(rld->lines(current_line).points.begin() + index +
1,
xform);
rld->insert_line_point(current_line, index + 1, xform);
Array args;
args.push_back(current_line);
EditorEvent::get_singleton()->event.emit("lines_changed_line", args);
@@ -746,8 +743,7 @@ void RoadLinesEditor::line_delete_point()
RoadLinesData *rld = RoadLinesData::get_singleton();
if (rld->lines(current_line).points.size() < 2)
return;
rld->lines(current_line)
.points.erase(rld->lines(current_line).points.begin() + index);
rld->erase_line_point(current_line, index);
Array args;
args.push_back(current_line);
EditorEvent::get_singleton()->event.emit("lines_changed_line", args);
@@ -768,7 +764,7 @@ void RoadLinesEditor::set_point_to_cursor()
Spatial *cursor = get_as_node<Spatial>(cursor_name);
Transform xform = cursor->get_global_transform();
int index = get_line_index();
rld->lines(current_line).points[index].origin = xform.origin;
rld->set_line_point_position(current_line, index, xform.origin);
Array args;
args.push_back(current_line);
EditorEvent::get_singleton()->event.emit("lines_changed_line", args);
@@ -944,7 +940,7 @@ void RoadLinesEditor::create_new_line_at_cursor(const String &line_name)
rline.pattern = 0;
Transform cursor_position(Basis(), get_cursor_position());
rline.points.push_back(cursor_position);
rld->lines(line_name) = rline;
rld->set_line(line_name, rline);
update_line_index_ui();
update_ui();
}
@@ -977,7 +973,7 @@ void RoadLinesEditor::set_point_position(const Vector3 &position)
{
RoadLinesData *rld = RoadLinesData::get_singleton();
int index = get_line_index();
rld->lines(current_line).points[index].origin = position;
rld->set_line_point_position(current_line, index, position);
Array args;
args.push_back(current_line);
EditorEvent::get_singleton()->event.emit("lines_changed_line", args);
@@ -1244,7 +1240,7 @@ void RoadLinesEditor::update_current_line_metadata(const String &text)
print_line("Invalid metadata type, should be Dictionary");
return;
}
rld->lines(current_line).metadata = v;
rld->set_line_metadata(current_line, v);
}
String RoadLinesEditor::get_current_line_metadata() const
{