Started buildings layout editor

This commit is contained in:
2024-10-05 03:35:32 +03:00
parent db39715354
commit 166e6d6b4a
12 changed files with 2129 additions and 7 deletions

View File

@@ -0,0 +1,306 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://main/building_layout_editor.gd" type="Script" id=1]
[ext_resource path="res://astream/building-layouts/building-elements.glb" type="PackedScene" id=2]
[sub_resource type="CubeMesh" id=1]
size = Vector3( 40, 1, 40 )
[node name="building_layout_editor" type="Spatial"]
script = ExtResource( 1 )
[node name="menu_panel" type="HBoxContainer" parent="."]
unique_name_in_owner = true
margin_right = 1024.0
margin_bottom = 20.0
[node name="FileMenu" type="MenuButton" parent="menu_panel"]
margin_right = 35.0
margin_bottom = 20.0
text = "File"
items = [ "Save", null, 0, false, false, 100, 0, null, "", false ]
switch_on_hover = true
[node name="ElementMenu" type="MenuButton" parent="menu_panel"]
margin_left = 39.0
margin_right = 104.0
margin_bottom = 20.0
focus_mode = 2
text = "Element"
items = [ "Layout...", null, 0, false, false, 200, 0, null, "", false, "Element types...", null, 0, false, false, 201, 0, null, "", false, "Elements...", null, 0, false, false, 202, 0, null, "", false, "", null, 0, false, true, 3, 0, null, "", true ]
switch_on_hover = true
[node name="ExteriorMenu" type="MenuButton" parent="menu_panel"]
margin_left = 108.0
margin_right = 169.0
margin_bottom = 20.0
focus_mode = 2
text = "Exterior"
switch_on_hover = true
[node name="InteriorMenu" type="MenuButton" parent="menu_panel"]
margin_left = 173.0
margin_right = 233.0
margin_bottom = 20.0
focus_mode = 2
text = "Interior"
switch_on_hover = true
[node name="MeshInstance" type="MeshInstance" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0 )
mesh = SubResource( 1 )
[node name="DirectionalLight" type="DirectionalLight" parent="."]
transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 100, 0 )
[node name="Camera" type="Camera" parent="."]
transform = Transform( 0.707107, 0.5, -0.5, 0, 0.707107, 0.707107, 0.707107, -0.5, 0.5, -25, 25, 25 )
[node name="VBoxContainer" type="VBoxContainer" parent="."]
anchor_left = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = -314.0
[node name="HSeparator2" type="HSeparator" parent="VBoxContainer"]
margin_right = 314.0
margin_bottom = 4.0
[node name="Label" type="Label" parent="VBoxContainer"]
margin_top = 8.0
margin_right = 314.0
margin_bottom = 22.0
text = "Properties"
[node name="HSeparator" type="HSeparator" parent="VBoxContainer"]
margin_top = 26.0
margin_right = 314.0
margin_bottom = 30.0
[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer"]
margin_top = 34.0
margin_right = 314.0
margin_bottom = 134.0
rect_min_size = Vector2( 0, 100 )
size_flags_vertical = 3
scroll_horizontal_enabled = false
[node name="layout_mesh_buttons" type="VBoxContainer" parent="VBoxContainer/ScrollContainer"]
unique_name_in_owner = true
margin_right = 302.0
margin_bottom = 168.0
rect_min_size = Vector2( 100, 0 )
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="socket_editor" type="PanelContainer" parent="VBoxContainer"]
unique_name_in_owner = true
margin_top = 138.0
margin_right = 314.0
margin_bottom = 420.0
[node name="v" type="VBoxContainer" parent="VBoxContainer/socket_editor"]
margin_left = 7.0
margin_top = 7.0
margin_right = 307.0
margin_bottom = 275.0
[node name="socket_new_element" type="Button" parent="VBoxContainer/socket_editor/v"]
unique_name_in_owner = true
margin_right = 300.0
margin_bottom = 20.0
text = "New Element Type"
[node name="socket_new_element_name" type="LineEdit" parent="VBoxContainer/socket_editor/v"]
unique_name_in_owner = true
margin_top = 24.0
margin_right = 300.0
margin_bottom = 48.0
[node name="element_type_list" type="ItemList" parent="VBoxContainer/socket_editor/v"]
unique_name_in_owner = true
margin_top = 52.0
margin_right = 300.0
margin_bottom = 112.0
rect_min_size = Vector2( 0, 60 )
items = [ "Item 0", null, false, "Item 1", null, false, "Item 2", null, false, "Item 3", null, false ]
[node name="socket_list" type="ItemList" parent="VBoxContainer/socket_editor/v"]
unique_name_in_owner = true
margin_top = 116.0
margin_right = 300.0
margin_bottom = 176.0
rect_min_size = Vector2( 0, 60 )
items = [ "floor", null, false, "west_wall", null, false, "east_wall", null, false, "north_wall", null, false, "south_wall", null, false, "diagonal_wall", null, false, "diagonal2_wall", null, false ]
[node name="socket_transform_editor" type="VBoxContainer" parent="VBoxContainer/socket_editor/v"]
unique_name_in_owner = true
margin_top = 180.0
margin_right = 300.0
margin_bottom = 268.0
[node name="offset_label" type="Label" parent="VBoxContainer/socket_editor/v/socket_transform_editor"]
margin_right = 300.0
margin_bottom = 14.0
text = "Offset"
[node name="socket_editor_offset_base" type="HBoxContainer" parent="VBoxContainer/socket_editor/v/socket_transform_editor"]
unique_name_in_owner = true
margin_top = 18.0
margin_right = 300.0
margin_bottom = 42.0
[node name="x_label" type="Label" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_offset_base"]
margin_top = 5.0
margin_right = 8.0
margin_bottom = 19.0
text = "X"
[node name="x_edit" type="LineEdit" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_offset_base"]
margin_left = 12.0
margin_right = 85.0
margin_bottom = 24.0
size_flags_horizontal = 3
[node name="y_label" type="Label" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_offset_base"]
margin_left = 89.0
margin_top = 5.0
margin_right = 96.0
margin_bottom = 19.0
text = "Y"
[node name="y_edit" type="LineEdit" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_offset_base"]
margin_left = 100.0
margin_right = 174.0
margin_bottom = 24.0
size_flags_horizontal = 3
[node name="z_label" type="Label" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_offset_base"]
margin_left = 178.0
margin_top = 5.0
margin_right = 186.0
margin_bottom = 19.0
text = "Z"
[node name="z_edit" type="LineEdit" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_offset_base"]
margin_left = 190.0
margin_right = 263.0
margin_bottom = 24.0
size_flags_horizontal = 3
[node name="set" type="Button" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_offset_base"]
margin_left = 267.0
margin_right = 299.0
margin_bottom = 24.0
text = "Set"
[node name="rotation_label" type="Label" parent="VBoxContainer/socket_editor/v/socket_transform_editor"]
margin_top = 46.0
margin_right = 300.0
margin_bottom = 60.0
text = "Rotation"
[node name="socket_editor_rotation_base" type="HBoxContainer" parent="VBoxContainer/socket_editor/v/socket_transform_editor"]
unique_name_in_owner = true
margin_top = 64.0
margin_right = 300.0
margin_bottom = 88.0
[node name="x_label" type="Label" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_rotation_base"]
margin_top = 5.0
margin_right = 8.0
margin_bottom = 19.0
text = "X"
[node name="x_edit" type="LineEdit" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_rotation_base"]
margin_left = 12.0
margin_right = 85.0
margin_bottom = 24.0
size_flags_horizontal = 3
[node name="y_label" type="Label" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_rotation_base"]
margin_left = 89.0
margin_top = 5.0
margin_right = 96.0
margin_bottom = 19.0
text = "Y"
[node name="y_edit" type="LineEdit" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_rotation_base"]
margin_left = 100.0
margin_right = 174.0
margin_bottom = 24.0
size_flags_horizontal = 3
[node name="z_label" type="Label" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_rotation_base"]
margin_left = 178.0
margin_top = 5.0
margin_right = 186.0
margin_bottom = 19.0
text = "Z"
[node name="z_edit" type="LineEdit" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_rotation_base"]
margin_left = 190.0
margin_right = 263.0
margin_bottom = 24.0
size_flags_horizontal = 3
[node name="set" type="Button" parent="VBoxContainer/socket_editor/v/socket_transform_editor/socket_editor_rotation_base"]
margin_left = 267.0
margin_right = 299.0
margin_bottom = 24.0
text = "Set"
[node name="element_editor" type="PanelContainer" parent="VBoxContainer"]
unique_name_in_owner = true
margin_top = 424.0
margin_right = 314.0
margin_bottom = 691.0
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/element_editor"]
margin_left = 7.0
margin_top = 7.0
margin_right = 307.0
margin_bottom = 260.0
[node name="element_new_element" type="Button" parent="VBoxContainer/element_editor/VBoxContainer"]
unique_name_in_owner = true
margin_right = 300.0
margin_bottom = 20.0
text = "New element"
[node name="element_new_element_name" type="LineEdit" parent="VBoxContainer/element_editor/VBoxContainer"]
unique_name_in_owner = true
margin_top = 24.0
margin_right = 300.0
margin_bottom = 48.0
[node name="element_list" type="ItemList" parent="VBoxContainer/element_editor/VBoxContainer"]
unique_name_in_owner = true
margin_top = 52.0
margin_right = 300.0
margin_bottom = 97.0
rect_min_size = Vector2( 0, 45 )
[node name="element_type_select" type="OptionButton" parent="VBoxContainer/element_editor/VBoxContainer"]
unique_name_in_owner = true
margin_top = 101.0
margin_right = 300.0
margin_bottom = 121.0
[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/element_editor/VBoxContainer"]
margin_top = 125.0
margin_right = 300.0
margin_bottom = 253.0
rect_min_size = Vector2( 300, 128 )
size_flags_horizontal = 3
[node name="element_mesh_select" type="GridContainer" parent="VBoxContainer/element_editor/VBoxContainer/ScrollContainer"]
unique_name_in_owner = true
margin_right = 300.0
margin_bottom = 128.0
size_flags_horizontal = 3
size_flags_vertical = 3
columns = 2
[node name="BuildingLayoutEditor" type="BuildingLayoutEditor" parent="."]
source = ExtResource( 2 )