WIP : Selection

This commit is contained in:
Lucas 2025-07-22 19:30:44 +02:00
parent 50973fa1c0
commit be0ee4408b
No known key found for this signature in database
11 changed files with 278 additions and 92 deletions

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=30 format=3 uid="uid://dnmetcwb14svi"] [gd_scene load_steps=31 format=3 uid="uid://dnmetcwb14svi"]
[ext_resource type="Material" uid="uid://chag8j6kyegq0" path="res://packs/Kaykit-Proto/materials/floor.tres" id="1_b53sv"] [ext_resource type="Material" uid="uid://chag8j6kyegq0" path="res://packs/Kaykit-Proto/materials/floor.tres" id="1_b53sv"]
[ext_resource type="PackedScene" uid="uid://qbceryqqfoum" path="res://packs/Kaykit-Proto/obj/dummy.tscn" id="2_40027"] [ext_resource type="PackedScene" uid="uid://qbceryqqfoum" path="res://packs/Kaykit-Proto/obj/dummy.tscn" id="2_40027"]
@ -21,6 +21,7 @@
[ext_resource type="ArrayMesh" uid="uid://b368b7vyej1fk" path="res://packs/Kaykit-Proto/obj/table_medium_Decorated.obj" id="19_fypju"] [ext_resource type="ArrayMesh" uid="uid://b368b7vyej1fk" path="res://packs/Kaykit-Proto/obj/table_medium_Decorated.obj" id="19_fypju"]
[ext_resource type="ArrayMesh" uid="uid://wcyh5hwirci" path="res://packs/Kaykit-Proto/obj/Wall_Doorway.obj" id="20_j11kn"] [ext_resource type="ArrayMesh" uid="uid://wcyh5hwirci" path="res://packs/Kaykit-Proto/obj/Wall_Doorway.obj" id="20_j11kn"]
[ext_resource type="ArrayMesh" uid="uid://di584vn1afti7" path="res://packs/Kaykit-Proto/obj/Primitive_Floor.obj" id="21_unwmg"] [ext_resource type="ArrayMesh" uid="uid://di584vn1afti7" path="res://packs/Kaykit-Proto/obj/Primitive_Floor.obj" id="21_unwmg"]
[ext_resource type="AudioStream" uid="uid://c4fw6xlaqpred" path="res://audio/music/forested.ogg" id="22_qx0ut"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_vkxe1"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_vkxe1"]
sky_top_color = Color(0.299981, 0.701967, 0.743086, 1) sky_top_color = Color(0.299981, 0.701967, 0.743086, 1)
@ -43,15 +44,6 @@ glow_enabled = true
volumetric_fog_enabled = true volumetric_fog_enabled = true
volumetric_fog_density = 0.0065 volumetric_fog_density = 0.0065
[sub_resource type="BoxMesh" id="BoxMesh_afokq"]
resource_local_to_scene = true
resource_name = "floor_mesh"
lightmap_size_hint = Vector2i(103, 59)
uv2_padding = 0.0
size = Vector3(10, 0.3, 10)
subdivide_width = 5
subdivide_depth = 5
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mqp7f"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mqp7f"]
albedo_texture = ExtResource("6_anror") albedo_texture = ExtResource("6_anror")
@ -66,6 +58,15 @@ albedo_texture = ExtResource("6_anror")
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_afokq"] [sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_afokq"]
points = PackedVector3Array(-0.953959, 0.0770701, -0.923111, 0.995482, 1.90217, 0.902347, 0.953931, 1.92294, 0.923125, 0.902243, 1.90211, -0.99565, -0.902341, 1.99532, 0.902338, 0.902311, 0.00466377, 0.902352, -0.902272, 0.097907, 0.995635, 0.995482, 0.0978295, -0.902347, -0.99551, 1.90216, -0.902333, 0.902311, 1.99534, -0.902352, -0.99551, 0.0978435, 0.902333, 0.902243, 1.90211, 0.99565, -0.902272, 0.097907, -0.995635, -0.902341, 0.00467924, -0.902338, 0.902243, 0.097893, -0.99565, -0.902272, 1.90209, -0.995635, 0.902243, 0.097893, 0.99565, -0.902272, 1.90209, 0.995635, 0.902311, 0.00466377, -0.902352, -0.902341, 1.99532, -0.902338, -0.902341, 0.00467924, 0.902338, 0.995482, 0.0978295, 0.902347, 0.995482, 1.90217, -0.902347, -0.99551, 1.90216, 0.902333, 0.902311, 1.99534, 0.902352, -0.99551, 0.0978435, -0.902333) points = PackedVector3Array(-0.953959, 0.0770701, -0.923111, 0.995482, 1.90217, 0.902347, 0.953931, 1.92294, 0.923125, 0.902243, 1.90211, -0.99565, -0.902341, 1.99532, 0.902338, 0.902311, 0.00466377, 0.902352, -0.902272, 0.097907, 0.995635, 0.995482, 0.0978295, -0.902347, -0.99551, 1.90216, -0.902333, 0.902311, 1.99534, -0.902352, -0.99551, 0.0978435, 0.902333, 0.902243, 1.90211, 0.99565, -0.902272, 0.097907, -0.995635, -0.902341, 0.00467924, -0.902338, 0.902243, 0.097893, -0.99565, -0.902272, 1.90209, -0.995635, 0.902243, 0.097893, 0.99565, -0.902272, 1.90209, 0.995635, 0.902311, 0.00466377, -0.902352, -0.902341, 1.99532, -0.902338, -0.902341, 0.00467924, 0.902338, 0.995482, 0.0978295, 0.902347, 0.995482, 1.90217, -0.902347, -0.99551, 1.90216, 0.902333, 0.902311, 1.99534, 0.902352, -0.99551, 0.0978435, -0.902333)
[sub_resource type="BoxMesh" id="BoxMesh_afokq"]
resource_local_to_scene = true
resource_name = "floor_mesh"
lightmap_size_hint = Vector2i(103, 59)
uv2_padding = 0.0
size = Vector3(10, 0.3, 10)
subdivide_width = 5
subdivide_depth = 5
[node name="Gym" type="Node"] [node name="Gym" type="Node"]
[node name="WorldEnvironment" type="WorldEnvironment" parent="."] [node name="WorldEnvironment" type="WorldEnvironment" parent="."]
@ -77,49 +78,6 @@ light_energy = 1.3
shadow_enabled = true shadow_enabled = true
directional_shadow_max_distance = 500.0 directional_shadow_max_distance = 500.0
[node name="CSGMesh3D" type="CSGMesh3D" parent="."]
transform = Transform3D(5.015, 0, 0, 0, 1, 0, 0, 0, 6.05, 0, -0.125, 0)
material_override = ExtResource("1_b53sv")
use_collision = true
mesh = SubResource("BoxMesh_afokq")
[node name="dummy" parent="." instance=ExtResource("2_40027")]
transform = Transform3D(0.232937, 0, -0.869333, 0, 0.9, 0, 0.869333, 0, 0.232937, 1.63629, 0, 5.28206)
[node name="BarrelA" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.46089, 0.469088, -5.67514)
material_override = SubResource("StandardMaterial3D_mqp7f")
mesh = ExtResource("3_afokq")
[node name="BoxA" type="MeshInstance3D" parent="."]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 4.69587, 0, 0.473738)
mesh = ExtResource("4_mqp7f")
[node name="BoxB" type="MeshInstance3D" parent="."]
transform = Transform3D(1.54555, 0, -1.70331, 0, 2.3, 0, 1.70331, 0, 1.54555, 6.56136, 0, -3.45931)
mesh = ExtResource("5_ipipj")
[node name="CubePrototypeSmall2" type="MeshInstance3D" parent="."]
transform = Transform3D(0.712541, 0, -0.701631, 0, 1, 0, 0.701631, 0, 0.712541, 0.193116, 0.14412355, 6.76326)
mesh = ExtResource("7_f8cpb")
[node name="CubePrototypeSmall3" type="MeshInstance3D" parent="."]
transform = Transform3D(0.712541, 0, -0.701631, 0, 1, 0, 0.701631, 0, 0.712541, 0.193116, 3.8178167, 12.751448)
material_override = SubResource("StandardMaterial3D_uesmb")
mesh = ExtResource("7_f8cpb")
[node name="RigidBody3D2" type="RigidBody3D" parent="."]
[node name="CubePrototypeSmall" type="MeshInstance3D" parent="RigidBody3D2"]
transform = Transform3D(0.949321, 0, 0.314307, -0.169926, 0.841256, 0.513238, -0.264413, -0.540637, 0.798622, -5.197, 6.3825, -12.265)
material_override = SubResource("StandardMaterial3D_aq7w3")
mesh = ExtResource("7_f8cpb")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D2"]
transform = Transform3D(0.949321, 0, 0.314307, -0.169926, 0.841256, 0.513238, -0.264413, -0.540637, 0.798622, -5.197, 6.3825, -12.265)
shape = SubResource("ConvexPolygonShape3D_afokq")
[node name="player_root" parent="." instance=ExtResource("8_mqp7f")] [node name="player_root" parent="." instance=ExtResource("8_mqp7f")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.528881, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.528881, 0, 0)
@ -128,70 +86,145 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.0969, 9.95703, 31.1327)
size = Vector3(92.7308, 66.6152, 140.037) size = Vector3(92.7308, 66.6152, 140.037)
data = ExtResource("9_ipipj") data = ExtResource("9_ipipj")
[node name="BoxC" type="MeshInstance3D" parent="."] [node name="Env" type="Node3D" parent="."]
transform = Transform3D(0.7566984, 0, 0.65376407, 0, 1, 0, -0.65376407, 0, 0.7566984, 0.17067528, 0.024999619, -6.5876083) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.7530127, 0.39157277, -11.776872)
[node name="BarrelA" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.707877, 0.077515215, 6.101732)
material_override = SubResource("StandardMaterial3D_mqp7f")
mesh = ExtResource("3_afokq")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="BoxA" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 8.448883, -0.39157277, 12.250609)
mesh = ExtResource("4_mqp7f")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="BoxB" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1.54555, 0, -1.70331, 0, 2.3, 0, 1.70331, 0, 1.54555, 10.314373, -0.39157277, 8.317562)
mesh = ExtResource("5_ipipj")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="CubePrototypeSmall2" type="MeshInstance3D" parent="Env"]
transform = Transform3D(0.712541, 0, -0.701631, 0, 1, 0, 0.701631, 0, 0.712541, 3.9461286, -0.24744922, 18.54013)
mesh = ExtResource("7_f8cpb")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="CubePrototypeSmall3" type="MeshInstance3D" parent="Env"]
transform = Transform3D(0.712541, 0, -0.701631, 0, 1, 0, 0.701631, 0, 0.712541, 3.9461286, 3.426244, 24.52832)
material_override = SubResource("StandardMaterial3D_uesmb")
mesh = ExtResource("7_f8cpb")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="RigidBody3D2" type="RigidBody3D" parent="Env"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.7530127, -0.39157277, 11.776872)
[node name="CubePrototypeSmall" type="MeshInstance3D" parent="Env/RigidBody3D2"]
transform = Transform3D(0.949321, 0, 0.314307, -0.169926, 0.841256, 0.513238, -0.264413, -0.540637, 0.798622, -5.197, 6.3825, -12.265)
material_override = SubResource("StandardMaterial3D_aq7w3")
mesh = ExtResource("7_f8cpb")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Env/RigidBody3D2"]
transform = Transform3D(0.949321, 0, 0.314307, -0.169926, 0.841256, 0.513238, -0.264413, -0.540637, 0.798622, -5.197, 6.3825, -12.265)
shape = SubResource("ConvexPolygonShape3D_afokq")
[node name="BoxC" type="MeshInstance3D" parent="Env"]
transform = Transform3D(0.7566984, 0, 0.65376407, 0, 1, 0, -0.65376407, 0, 0.7566984, 3.923688, -0.36657315, 5.1892633)
mesh = ExtResource("10_iyjuv") mesh = ExtResource("10_iyjuv")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="DoorADecorated" type="MeshInstance3D" parent="."] [node name="DoorADecorated" type="MeshInstance3D" parent="Env"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -15.584036, 0.024999619, -19.843891) transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -11.831023, -0.36657315, -8.067019)
mesh = ExtResource("11_gfgny") mesh = ExtResource("11_gfgny")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PalletLarge" type="MeshInstance3D" parent="."] [node name="PalletLarge" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.6037169, 0.025000572, -21.528067) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.3567295, -0.3665722, -9.751195)
mesh = ExtResource("12_aw2pe") mesh = ExtResource("12_aw2pe")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PalletLarge2" type="MeshInstance3D" parent="."] [node name="PalletLarge2" type="MeshInstance3D" parent="Env"]
transform = Transform3D(0.99956816, 0, -0.029387116, 0, 1, 0, 0.029387116, 0, 0.99956816, 3.1583347, 0.52046394, -20.519901) transform = Transform3D(0.99956816, 0, -0.029387116, 0, 1, 0, 0.029387116, 0, 0.99956816, 6.9113474, 0.12889117, -8.74303)
mesh = ExtResource("12_aw2pe") mesh = ExtResource("12_aw2pe")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PalletLarge3" type="MeshInstance3D" parent="."] [node name="PalletLarge3" type="MeshInstance3D" parent="Env"]
transform = Transform3D(0.99656403, 0, 0.0828256, 0, 1, 0, -0.0828256, 0, 0.99656403, 4.4024363, 0.9654, -22.039927) transform = Transform3D(0.99656403, 0, 0.0828256, 0, 1, 0, -0.0828256, 0, 0.99656403, 8.155449, 0.5738272, -10.263055)
mesh = ExtResource("12_aw2pe") mesh = ExtResource("12_aw2pe")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PalletSmall" type="MeshInstance3D" parent="."] [node name="PalletSmall" type="MeshInstance3D" parent="Env"]
transform = Transform3D(0.91708094, 0, -0.39870104, 0, 1, 0, 0.39870104, 0, 0.91708094, 8.676193, 0.025000095, -21.06688) transform = Transform3D(0.91708094, 0, -0.39870104, 0, 1, 0, 0.39870104, 0, 0.91708094, 12.429206, -0.36657268, -9.290008)
mesh = ExtResource("13_t4e8t") mesh = ExtResource("13_t4e8t")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PrimitiveSlope" type="MeshInstance3D" parent="."] [node name="PrimitiveSlope" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.317268, 0.024999619, -16.646858) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20.070282, -0.36657315, -4.8699865)
mesh = ExtResource("14_86fmv") mesh = ExtResource("14_86fmv")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PrimitiveStairs" type="MeshInstance3D" parent="."] [node name="PrimitiveStairs" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.237097, 0.024998665, -18.559904) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4840841, -0.3665741, -6.7830324)
mesh = ExtResource("15_v6mjl") mesh = ExtResource("15_v6mjl")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PrimitiveStairsHalf" type="MeshInstance3D" parent="."] [node name="PrimitiveStairsHalf" type="MeshInstance3D" parent="Env"]
transform = Transform3D(0.8438319, 0, -0.53660756, 0, 1, 0, 0.53660756, 0, 0.8438319, -7.3606834, -3.35709, 12.253401) transform = Transform3D(0.8438319, 0, -0.53660756, 0, 1, 0, 0.53660756, 0, 0.8438319, -3.6076708, -3.7486627, 24.030273)
mesh = ExtResource("16_kvtwj") mesh = ExtResource("16_kvtwj")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PrimitiveWall" type="MeshInstance3D" parent="."] [node name="PrimitiveWall" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.851445, 0.024999619, -21.031487) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.0984325, -0.36657315, -9.254615)
mesh = ExtResource("17_26j3w") mesh = ExtResource("17_26j3w")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PrimitiveWall2" type="MeshInstance3D" parent="."] [node name="PrimitiveWall2" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.080717, 0.024999619, -17.017313) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.3277044, -0.36657315, -5.2404413)
mesh = ExtResource("17_26j3w") mesh = ExtResource("17_26j3w")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PrimitiveWindow" type="MeshInstance3D" parent="."] [node name="PrimitiveWindow" type="MeshInstance3D" parent="Env"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -13.528359, 0.024998665, -21.07315) transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -9.775347, -0.3665741, -9.296279)
mesh = ExtResource("18_kjqju") mesh = ExtResource("18_kjqju")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="TableMediumDecorated" type="MeshInstance3D" parent="."] [node name="TableMediumDecorated" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -14) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.2469873, -0.39157277, -2.2231283)
mesh = ExtResource("19_fypju") mesh = ExtResource("19_fypju")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PrimitiveWall3" type="MeshInstance3D" parent="."] [node name="PrimitiveWall3" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, -17) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.246987, -0.39157277, -5.2231283)
mesh = ExtResource("17_26j3w") mesh = ExtResource("17_26j3w")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="WallDoorway" type="MeshInstance3D" parent="."] [node name="WallDoorway" type="MeshInstance3D" parent="Env"]
transform = Transform3D(-0.07428251, 0, -0.99723727, 0, 1, 0, 0.99723727, 0, -0.07428251, -15.431596, 0.024999619, -19.047731) transform = Transform3D(-0.07428251, 0, -0.99723727, 0, 1, 0, 0.99723727, 0, -0.07428251, -11.678583, -0.36657315, -7.2708597)
mesh = ExtResource("20_j11kn") mesh = ExtResource("20_j11kn")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PrimitiveFloor" type="MeshInstance3D" parent="."] [node name="PrimitiveFloor" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.287403, 3.0981884, -19.006363) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.5343904, 2.7066157, -7.229491)
mesh = ExtResource("21_unwmg") mesh = ExtResource("21_unwmg")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="PrimitiveFloor2" type="MeshInstance3D" parent="."] [node name="PrimitiveFloor2" type="MeshInstance3D" parent="Env"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.469146, 3.0981884, -19.006363) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.716133, 2.7066157, -7.229491)
mesh = ExtResource("21_unwmg") mesh = ExtResource("21_unwmg")
skeleton = NodePath("../../root/@EditorNode@20441/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@62/@VBoxContainer@63/@EditorMainScreen@103/MainScreen/@CanvasItemEditor@10870/@VSplitContainer@10515/@HSplitContainer@10517/@HSplitContainer@10519/@Control@10520/@SubViewportContainer@10521/@SubViewport@10522/Gym")
[node name="dummy" parent="Env" instance=ExtResource("2_40027")]
transform = Transform3D(0.232937, 0, -0.869333, 0, 0.9, 0, 0.869333, 0, 0.232937, 5.3893027, -0.39157277, 17.058931)
[node name="CSGMesh3D" type="CSGMesh3D" parent="Env"]
transform = Transform3D(5.015, 0, 0, 0, 1, 0, 0, 0, 6.05, 3.7530127, -0.5165728, 11.776872)
material_override = ExtResource("1_b53sv")
use_collision = true
mesh = SubResource("BoxMesh_afokq")
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("22_qx0ut")
volume_db = -20.0
autoplay = true
parameters/looping = true

44
UI/player interface.tscn Normal file
View file

@ -0,0 +1,44 @@
[gd_scene load_steps=6 format=3 uid="uid://c7hu51a2omayl"]
[ext_resource type="Script" uid="uid://c6xp0y6y0gnjt" path="res://core/scripts/player_interface.gd" id="1_nbn0p"]
[ext_resource type="Texture2D" uid="uid://dtnvfhpg0fmlk" path="res://packs/Kenney-cursors/Outline/steps.svg" id="1_ur0rc"]
[ext_resource type="Script" uid="uid://bxo7f7f1th34m" path="res://core/scripts/player_selection_manager.gd" id="3_u7fvt"]
[ext_resource type="StyleBox" uid="uid://nn1eq5h68x1b" path="res://UI/selection_rect_style.tres" id="4_u7fvt"]
[sub_resource type="Theme" id="Theme_ur0rc"]
[node name="PlayerInterface" type="Control"]
modulate = Color(0.6745098, 1, 1, 1)
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
pivot_offset = Vector2(960, 540)
size_flags_horizontal = 3
size_flags_vertical = 3
mouse_filter = 2
script = ExtResource("1_nbn0p")
[node name="Button" type="Button" parent="."]
layout_mode = 0
anchor_top = 1.0
anchor_bottom = 1.0
offset_left = 35.0
offset_top = -62.559998
offset_right = 169.0
offset_bottom = -22.559937
grow_vertical = 0
pivot_offset = Vector2(0, 40)
theme = SubResource("Theme_ur0rc")
text = "Test Button"
icon = ExtResource("1_ur0rc")
[node name="SelectionManager" type="Control" parent="."]
process_mode = 3
process_priority = -1
anchors_preset = 0
mouse_filter = 2
script = ExtResource("3_u7fvt")
rect_style = ExtResource("4_u7fvt")

View file

@ -0,0 +1,13 @@
[gd_resource type="StyleBoxFlat" format=3 uid="uid://nn1eq5h68x1b"]
[resource]
bg_color = Color(0, 0.7176471, 0.38039216, 0.09411765)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0, 1, 0, 0.49019608)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5

View file

@ -1,7 +1,8 @@
[gd_scene load_steps=5 format=3 uid="uid://djj1fc8qm10t6"] [gd_scene load_steps=6 format=3 uid="uid://djj1fc8qm10t6"]
[ext_resource type="Script" uid="uid://c23s1syo7wjm8" path="res://core/scripts/player.gd" id="1_e571r"] [ext_resource type="Script" uid="uid://c23s1syo7wjm8" path="res://core/scripts/player.gd" id="1_e571r"]
[ext_resource type="Script" uid="uid://d2f3kt810ncsa" path="res://core/scripts/cursor_behaviour.gd" id="2_ipmo0"] [ext_resource type="Script" uid="uid://d2f3kt810ncsa" path="res://core/scripts/cursor_behaviour.gd" id="2_ipmo0"]
[ext_resource type="PackedScene" uid="uid://c7hu51a2omayl" path="res://ui/player interface.tscn" id="3_8c7bm"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e571r"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e571r"]
blend_mode = 1 blend_mode = 1
@ -36,4 +37,6 @@ mesh = SubResource("SphereMesh_ipmo0")
[node name="CursorComponent" type="Node" parent="."] [node name="CursorComponent" type="Node" parent="."]
script = ExtResource("2_ipmo0") script = ExtResource("2_ipmo0")
[node name="PlayerInterface" parent="." instance=ExtResource("3_8c7bm")]
[connection signal="cursor_edge_scrolling" from="." to="CursorComponent" method="_on_player_root_cursor_edge_scrolling"] [connection signal="cursor_edge_scrolling" from="." to="CursorComponent" method="_on_player_root_cursor_edge_scrolling"]

View file

@ -22,7 +22,10 @@ var zoom_disabled:bool = false
var edge_scroll_disabled:bool = ProjectSettings.get_setting("game/controls/edge_scrolling_disabled",false) var edge_scroll_disabled:bool = ProjectSettings.get_setting("game/controls/edge_scrolling_disabled",false)
var invert_rotation_x:bool = ProjectSettings.get_setting("game/controls/invert_cam_rotation_x",false) var invert_rotation_x:bool = ProjectSettings.get_setting("game/controls/invert_cam_rotation_x",false)
var invert_rotation_y:bool = ProjectSettings.get_setting("game/controls/invert_cam_rotation_y",false) var invert_rotation_y:bool = ProjectSettings.get_setting("game/controls/invert_cam_rotation_y",false)
var default_mouse_mode:= Input.MOUSE_MODE_VISIBLE
var rotation_mode:bool = false var rotation_mode:bool = false
@export_range(0,1,0.01) var rotation_speed_x:float = ProjectSettings.get_setting("game/controls/cam_rotation_speed_x",0.5) @export_range(0,1,0.01) var rotation_speed_x:float = ProjectSettings.get_setting("game/controls/cam_rotation_speed_x",0.5)
@export_range(0,1,0.01) var rotation_speed_y:float = ProjectSettings.get_setting("game/controls/cam_rotation_speed_y",0.5) @export_range(0,1,0.01) var rotation_speed_y:float = ProjectSettings.get_setting("game/controls/cam_rotation_speed_y",0.5)
@ -36,7 +39,7 @@ const quit_screen_load = preload("uid://hne6njnc23ur")
func _ready(): func _ready():
Input.mouse_mode = Input.MOUSE_MODE_CONFINED # Maybe should be moved in a better script Input.mouse_mode = default_mouse_mode # Maybe should be moved in a better script
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
@ -47,15 +50,16 @@ func _process(delta: float) -> void:
func _notification(what: int): func _notification(what: int):
if edge_scroll_disabled:return
if what == NOTIFICATION_APPLICATION_FOCUS_OUT: if what == NOTIFICATION_APPLICATION_FOCUS_OUT:
print("focus out!") print("focus out!")
#get_tree().paused = true #get_tree().paused = true
edge_scroll_disabled = true #edge_scroll_disabled = true
move_disabled = true move_disabled = true
if what == NOTIFICATION_APPLICATION_FOCUS_IN: if what == NOTIFICATION_APPLICATION_FOCUS_IN:
print("focus in!") print("focus in!")
#get_tree().paused = false #get_tree().paused = false
edge_scroll_disabled = false #edge_scroll_disabled = false
move_disabled = false move_disabled = false
if what == NOTIFICATION_WM_MOUSE_ENTER: if what == NOTIFICATION_WM_MOUSE_ENTER:
print("focus in!") print("focus in!")
@ -81,7 +85,7 @@ func _unhandled_input(event: InputEvent) -> void:
if event.is_action_released("rotation_mode"): if event.is_action_released("rotation_mode"):
rotation_mode = false rotation_mode = false
Input.mouse_mode = Input.MOUSE_MODE_CONFINED Input.mouse_mode = default_mouse_mode
if event.is_action_pressed("DEBUG-quit"): if event.is_action_pressed("DEBUG-quit"):
quit_game() quit_game()

View file

@ -0,0 +1,11 @@
extends Control
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass

View file

@ -0,0 +1 @@
uid://c6xp0y6y0gnjt

View file

@ -0,0 +1,61 @@
extends Control
var selecting:=false
var drag_start: Vector2
var select_box: Rect2
@onready var box_color: Color = ProjectSettings.get_setting("game/interface/selection_rectangle_color",Color("#00ff0066"))
@onready var box_color_outline: Color = ProjectSettings.get_setting("game/interface/selection_rectangle_color_outline",Color("#00ff00"))
@onready var optimized_rect:bool = ProjectSettings.get_setting("game/interface/optimized_rectangle",false)
@export var rect_style: StyleBoxFlat
func _ready() -> void:
if optimized_rect:return
func _unhandled_input(e: InputEvent) -> void:
if e is InputEventMouseButton and e.button_index == MOUSE_BUTTON_LEFT:
if e.pressed:
selecting = true
drag_start = e.position
else: # when button is released
selecting = false
if drag_start.is_equal_approx(e.position):
select_box = Rect2(e.position, Vector2.ZERO) # when just clicked
queue_redraw()
update_selected_units()
elif selecting and e is InputEventMouseMotion:
var x_min = min(drag_start.x, e.position.x)
var y_min = min(drag_start.y, e.position.y)
select_box = Rect2(x_min,y_min,
max(drag_start.x,e.position.x) - x_min,
max(drag_start.y,e.position.y) - y_min)
update_selected_units()
queue_redraw()
#HACK :https://www.youtube.com/watch?v=NxW9t-YgJkM
func update_selected_units() -> int:
var units_selected := 0
for unit in get_tree().get_nodes_in_group('selectable-units'): #TODO: currently searching in all unit in the world. Should search in spawned in the chunk
if unit.is_in_selection(select_box):
unit.select()
units_selected += 1
else:
unit.deselect()
return units_selected
func _draw() -> void:
if not selecting:return
if select_box and rect_style:
if optimized_rect:
draw_rect(select_box,box_color)
draw_rect(select_box,box_color_outline,false,2.0,true)
elif rect_style:
draw_style_box(rect_style,select_box)

View file

@ -0,0 +1 @@
uid://bxo7f7f1th34m

View file

@ -25,6 +25,8 @@ grow_vertical = 2
pivot_offset = Vector2(960, 540) pivot_offset = Vector2(960, 540)
size_flags_horizontal = 3 size_flags_horizontal = 3
size_flags_vertical = 3 size_flags_vertical = 3
mouse_filter = 2
mouse_behavior_recursive = 2
script = ExtResource("1_xqln8") script = ExtResource("1_xqln8")
MouseOverlay = NodePath("MouseCursorOverlay") MouseOverlay = NodePath("MouseCursorOverlay")
@ -36,12 +38,15 @@ offset_right = 32.0
offset_bottom = 32.0 offset_bottom = 32.0
mouse_filter = 2 mouse_filter = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_xqln8") theme_override_styles/panel = SubResource("StyleBoxFlat_xqln8")
metadata/_edit_use_anchors_ = true
[node name="TextureRect" type="TextureRect" parent="MouseCursorOverlay/PanelContainer"] [node name="TextureRect" type="TextureRect" parent="MouseCursorOverlay/PanelContainer"]
layout_mode = 0 layout_mode = 0
offset_right = 40.0 offset_right = 40.0
offset_bottom = 40.0 offset_bottom = 40.0
mouse_filter = 2
stretch_mode = 2 stretch_mode = 2
metadata/_edit_use_anchors_ = true
[node name="HotSpotMarker" type="ColorRect" parent="MouseCursorOverlay/PanelContainer/TextureRect"] [node name="HotSpotMarker" type="ColorRect" parent="MouseCursorOverlay/PanelContainer/TextureRect"]
custom_minimum_size = Vector2(1, 1) custom_minimum_size = Vector2(1, 1)
@ -50,3 +55,4 @@ offset_right = 4.0
offset_bottom = 4.0 offset_bottom = 4.0
pivot_offset = Vector2(2, 2) pivot_offset = Vector2(2, 2)
color = Color(1, 0.3137255, 1, 1) color = Color(1, 0.3137255, 1, 1)
metadata/_edit_use_anchors_ = true

View file

@ -50,6 +50,7 @@ controls/cam_rotation_speed_x=0.2
controls/cam_rotation_speed_y=0.2 controls/cam_rotation_speed_y=0.2
controls/invert_cam_rotation_x=false controls/invert_cam_rotation_x=false
controls/invert_cam_rotation_y=true controls/invert_cam_rotation_y=true
controls/edge_scrolling_disabled=true
[input] [input]
@ -93,6 +94,7 @@ rotation_mode={
"deadzone": 0.2, "deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(98, 12),"global_position":Vector2(107, 60),"factor":1.0,"button_index":3,"canceled":false,"pressed":true,"double_click":false,"script":null) "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(98, 12),"global_position":Vector2(107, 60),"factor":1.0,"button_index":3,"canceled":false,"pressed":true,"double_click":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":4,"position":Vector2(71, 18),"global_position":Vector2(80, 64),"factor":1.0,"button_index":3,"canceled":false,"pressed":true,"double_click":false,"script":null)
] ]
} }
DEBUG-quit={ DEBUG-quit={
@ -101,6 +103,12 @@ DEBUG-quit={
] ]
} }
[internationalization]
locale/locale_filter_mode=1
locale/language_filter=["en", "fr"]
locale/country_filter=["FR"]
[physics] [physics]
3d/run_on_separate_thread=true 3d/run_on_separate_thread=true
@ -108,4 +116,5 @@ DEBUG-quit={
[rendering] [rendering]
global_illumination/voxel_gi/quality=1
anti_aliasing/quality/msaa_3d=2 anti_aliasing/quality/msaa_3d=2