From 72bc6ade256e633eaacb02b81e92529ba1941baf Mon Sep 17 00:00:00 2001 From: Sergey Lapin Date: Sun, 22 Sep 2024 04:33:35 +0300 Subject: [PATCH] Added UI to control cursor and building position in buildings editor --- godot/main/editor.tscn | 196 +++++++++++++++++++++++++++++++---------- 1 file changed, 149 insertions(+), 47 deletions(-) diff --git a/godot/main/editor.tscn b/godot/main/editor.tscn index 1b7a287..0816ca2 100644 --- a/godot/main/editor.tscn +++ b/godot/main/editor.tscn @@ -122,86 +122,188 @@ text = "NPC Mode" unique_name_in_owner = true margin_top = 206.0 margin_right = 248.0 -margin_bottom = 482.0 +margin_bottom = 622.0 [node name="HSeparator" type="HSeparator" parent="VBoxContainer/v_buildings"] margin_right = 248.0 margin_bottom = 4.0 -[node name="Label" type="Label" parent="VBoxContainer/v_buildings"] +[node name="base" type="PanelContainer" parent="VBoxContainer/v_buildings"] margin_top = 8.0 margin_right = 248.0 -margin_bottom = 22.0 +margin_bottom = 416.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/v_buildings/base"] +margin_left = 7.0 +margin_top = 7.0 +margin_right = 241.0 +margin_bottom = 401.0 + +[node name="Label" type="Label" parent="VBoxContainer/v_buildings/base/VBoxContainer"] +margin_right = 234.0 +margin_bottom = 14.0 text = "Buildings mode" -[node name="buildings_edit_mode" type="OptionButton" parent="VBoxContainer/v_buildings"] -unique_name_in_owner = true +[node name="HSeparator" type="HSeparator" parent="VBoxContainer/v_buildings/base/VBoxContainer"] +margin_top = 18.0 +margin_right = 234.0 +margin_bottom = 22.0 + +[node name="Label3" type="Label" parent="VBoxContainer/v_buildings/base/VBoxContainer"] margin_top = 26.0 -margin_right = 248.0 -margin_bottom = 46.0 +margin_right = 234.0 +margin_bottom = 40.0 +text = "Cursor position" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/v_buildings/base/VBoxContainer"] +margin_top = 44.0 +margin_right = 234.0 +margin_bottom = 68.0 + +[node name="building_cursor_x" type="LineEdit" parent="VBoxContainer/v_buildings/base/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +margin_right = 63.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="building_cursor_y" type="LineEdit" parent="VBoxContainer/v_buildings/base/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +margin_left = 67.0 +margin_right = 130.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="building_cursor_z" type="LineEdit" parent="VBoxContainer/v_buildings/base/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +margin_left = 134.0 +margin_right = 197.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="buildings_set_cursor_position" type="Button" parent="VBoxContainer/v_buildings/base/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +margin_left = 201.0 +margin_right = 233.0 +margin_bottom = 24.0 +text = "Set" + +[node name="Label5" type="Label" parent="VBoxContainer/v_buildings/base/VBoxContainer"] +margin_top = 72.0 +margin_right = 234.0 +margin_bottom = 86.0 +text = "Selected building position" + +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/v_buildings/base/VBoxContainer"] +margin_top = 90.0 +margin_right = 234.0 +margin_bottom = 114.0 + +[node name="building_position_x" type="LineEdit" parent="VBoxContainer/v_buildings/base/VBoxContainer/HBoxContainer2"] +unique_name_in_owner = true +margin_right = 63.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="building_position_y" type="LineEdit" parent="VBoxContainer/v_buildings/base/VBoxContainer/HBoxContainer2"] +unique_name_in_owner = true +margin_left = 67.0 +margin_right = 130.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="building_position_z" type="LineEdit" parent="VBoxContainer/v_buildings/base/VBoxContainer/HBoxContainer2"] +unique_name_in_owner = true +margin_left = 134.0 +margin_right = 197.0 +margin_bottom = 24.0 +size_flags_horizontal = 3 + +[node name="buildings_set_building_position" type="Button" parent="VBoxContainer/v_buildings/base/VBoxContainer/HBoxContainer2"] +unique_name_in_owner = true +margin_left = 201.0 +margin_right = 233.0 +margin_bottom = 24.0 +text = "Set" + +[node name="HSeparator3" type="HSeparator" parent="VBoxContainer/v_buildings/base/VBoxContainer"] +margin_top = 118.0 +margin_right = 234.0 +margin_bottom = 122.0 + +[node name="Label4" type="Label" parent="VBoxContainer/v_buildings/base/VBoxContainer"] +margin_top = 126.0 +margin_right = 234.0 +margin_bottom = 140.0 +text = "Mode" + +[node name="buildings_edit_mode" type="OptionButton" parent="VBoxContainer/v_buildings/base/VBoxContainer"] +unique_name_in_owner = true +margin_top = 144.0 +margin_right = 234.0 +margin_bottom = 164.0 text = "Select" items = [ "Select", null, false, 0, null, "Move", null, false, 1, null, "Rotate", null, false, 2, null, "Create", null, false, 3, null ] selected = 0 -[node name="Label2" type="Label" parent="VBoxContainer/v_buildings"] -margin_top = 50.0 -margin_right = 248.0 -margin_bottom = 64.0 +[node name="Label2" type="Label" parent="VBoxContainer/v_buildings/base/VBoxContainer"] +margin_top = 168.0 +margin_right = 234.0 +margin_bottom = 182.0 text = "Building type" -[node name="building_type" type="OptionButton" parent="VBoxContainer/v_buildings"] +[node name="building_type" type="OptionButton" parent="VBoxContainer/v_buildings/base/VBoxContainer"] unique_name_in_owner = true -margin_top = 68.0 -margin_right = 248.0 -margin_bottom = 88.0 +margin_top = 186.0 +margin_right = 234.0 +margin_bottom = 206.0 text = "Building Type" -[node name="HSeparator2" type="HSeparator" parent="VBoxContainer/v_buildings"] -margin_top = 92.0 -margin_right = 248.0 -margin_bottom = 96.0 +[node name="HSeparator2" type="HSeparator" parent="VBoxContainer/v_buildings/base/VBoxContainer"] +margin_top = 210.0 +margin_right = 234.0 +margin_bottom = 214.0 -[node name="buildings_delete_building" type="Button" parent="VBoxContainer/v_buildings"] +[node name="buildings_delete_building" type="Button" parent="VBoxContainer/v_buildings/base/VBoxContainer"] unique_name_in_owner = true -margin_top = 100.0 -margin_right = 248.0 -margin_bottom = 120.0 +margin_top = 218.0 +margin_right = 234.0 +margin_bottom = 238.0 text = "Delete building" -[node name="buildings_create_building" type="Button" parent="VBoxContainer/v_buildings"] +[node name="buildings_create_building" type="Button" parent="VBoxContainer/v_buildings/base/VBoxContainer"] unique_name_in_owner = true -margin_top = 124.0 -margin_right = 248.0 -margin_bottom = 144.0 +margin_top = 242.0 +margin_right = 234.0 +margin_bottom = 262.0 text = "Create building" -[node name="buildings_save" type="Button" parent="VBoxContainer/v_buildings"] +[node name="buildings_save" type="Button" parent="VBoxContainer/v_buildings/base/VBoxContainer"] unique_name_in_owner = true -margin_top = 148.0 -margin_right = 248.0 -margin_bottom = 168.0 +margin_top = 266.0 +margin_right = 234.0 +margin_bottom = 286.0 text = "Save Buildings" -[node name="lines_list_building" type="ItemList" parent="VBoxContainer/v_buildings"] +[node name="lines_list_building" type="ItemList" parent="VBoxContainer/v_buildings/base/VBoxContainer"] unique_name_in_owner = true -margin_top = 172.0 -margin_right = 248.0 -margin_bottom = 252.0 +margin_top = 290.0 +margin_right = 234.0 +margin_bottom = 370.0 rect_min_size = Vector2( 0, 80 ) size_flags_horizontal = 3 -[node name="buildings_assign_to_line" type="Button" parent="VBoxContainer/v_buildings"] +[node name="buildings_assign_to_line" type="Button" parent="VBoxContainer/v_buildings/base/VBoxContainer"] unique_name_in_owner = true -margin_top = 256.0 -margin_right = 248.0 -margin_bottom = 276.0 +margin_top = 374.0 +margin_right = 234.0 +margin_bottom = 394.0 text = "Assign To Line" [node name="v_navigation" type="VBoxContainer" parent="VBoxContainer"] unique_name_in_owner = true -margin_top = 486.0 +margin_top = 626.0 margin_right = 248.0 -margin_bottom = 508.0 +margin_bottom = 648.0 [node name="HSeparator" type="HSeparator" parent="VBoxContainer/v_navigation"] margin_right = 248.0 @@ -215,9 +317,9 @@ text = "Navigation mode" [node name="v_poi" type="VBoxContainer" parent="VBoxContainer"] unique_name_in_owner = true -margin_top = 512.0 +margin_top = 652.0 margin_right = 248.0 -margin_bottom = 534.0 +margin_bottom = 674.0 [node name="HSeparator" type="HSeparator" parent="VBoxContainer/v_poi"] margin_right = 248.0 @@ -231,9 +333,9 @@ text = "POI mode" [node name="v_road_lines" type="VBoxContainer" parent="VBoxContainer"] unique_name_in_owner = true -margin_top = 538.0 +margin_top = 678.0 margin_right = 248.0 -margin_bottom = 1497.0 +margin_bottom = 1637.0 [node name="HSeparator" type="HSeparator" parent="VBoxContainer/v_road_lines"] margin_right = 248.0 @@ -611,9 +713,9 @@ text = "Close" [node name="v_npc" type="VBoxContainer" parent="VBoxContainer"] unique_name_in_owner = true -margin_top = 1501.0 +margin_top = 1641.0 margin_right = 248.0 -margin_bottom = 1523.0 +margin_bottom = 1663.0 [node name="HSeparator" type="HSeparator" parent="VBoxContainer/v_npc"] margin_right = 248.0