Can create and delete lines

This commit is contained in:
2024-09-05 15:16:19 +03:00
parent ed09663bcc
commit 88317b2564
2 changed files with 26 additions and 2 deletions

View File

@@ -279,7 +279,8 @@ protected:
->show();
break;
case 22:
/* TODO: delete line */
/* delete line */
editor->delete_current_line();
break;
case 51:
editor->set_point_to_cursor();
@@ -322,7 +323,6 @@ protected:
return;
} else
line_name->remove_color_override("font_color");
/* TODO: do what is needed to create line in editor */
editor->create_new_line_at_cursor(text);
/* clean text */
line_name->set_text("");
@@ -620,6 +620,29 @@ void RoadLinesEditor::update_ui()
void RoadLinesEditor::create_new_line_at_cursor(const String &line_name)
{
print_line("creating new line called: " + line_name);
struct road_line rline;
rline.flags = 0;
rline.indices.resize(0);
rline.lanes = -1;
if (line_name.ends_with("_road"))
rline.lanes = 4;
rline.metadata = Dictionary();
rline.pattern = 0;
Transform cursor_position(Basis(), get_cursor_position());
rline.points.push_back(cursor_position);
lines[line_name] = rline;
update_line_index_ui();
update_ui();
}
void RoadLinesEditor::delete_current_line()
{
String delete_line = current_line;
const String *k = lines.next(&delete_line);
current_line = *k;
lines.erase(delete_line);
update_line_index_ui();
update_ui();
}
Vector3 RoadLinesEditor::get_cursor_position()

View File

@@ -30,6 +30,7 @@ public:
int get_camera_mode() const;
void update_ui();
void create_new_line_at_cursor(const String &line_name);
void delete_current_line();
Vector3 get_cursor_position();
void set_cursor_position(const Vector3 &cursor_position);
void set_point_position(const Vector3 &position);