From f7240e116748aa88281147b1c125aa930696b63e Mon Sep 17 00:00:00 2001 From: MaddoScientisto Date: Sun, 1 Mar 2026 17:17:04 +0100 Subject: [PATCH] Animated switches --- 3D/Maps/Factory5.map | 2 + 3D/Scenes/Props/control_pad_shoot_3d.tscn | 48 +- IsoTest/Factory5.tscn | 436 +++++++++--------- Scripts/Interactables/Switch3D.cs | 9 +- .../Interactables/SwitchAnimationManager.cs | 159 +++++++ .../SwitchAnimationManager.cs.uid | 1 + 6 files changed, 422 insertions(+), 233 deletions(-) create mode 100644 Scripts/Interactables/SwitchAnimationManager.cs create mode 100644 Scripts/Interactables/SwitchAnimationManager.cs.uid diff --git a/3D/Maps/Factory5.map b/3D/Maps/Factory5.map index 241d0435..c853cba5 100644 --- a/3D/Maps/Factory5.map +++ b/3D/Maps/Factory5.map @@ -1447,6 +1447,7 @@ { "classname" "actor_elevator_1" "origin" "272 336 -24" +"targetname" "elevator_1" } // entity 41 { @@ -1475,6 +1476,7 @@ { "classname" "actor_controlpad" "origin" "256 316 32" +"target" "elevator_1" } // entity 46 { diff --git a/3D/Scenes/Props/control_pad_shoot_3d.tscn b/3D/Scenes/Props/control_pad_shoot_3d.tscn index 4eb49b87..678c6b2b 100644 --- a/3D/Scenes/Props/control_pad_shoot_3d.tscn +++ b/3D/Scenes/Props/control_pad_shoot_3d.tscn @@ -7,9 +7,10 @@ [ext_resource type="PackedScene" uid="uid://w6jg5rx6d5gp" path="res://3D/BlockbenchModels/ControlPad/Control_Pad_Shoot.gltf" id="5_uhypp"] [ext_resource type="Texture2D" uid="uid://b7i8madir447q" path="res://3D/BlockbenchModels/ControlPad/Control_Pad_Shoot_0.png" id="6_pmslt"] [ext_resource type="Script" uid="uid://b46e1ft1scvwt" path="res://Scripts/Interactables/FrameAnimator3D.cs" id="6_uok2k"] +[ext_resource type="Script" uid="uid://cklsqt246d571" path="res://Scripts/Interactables/SwitchAnimationManager.cs" id="8_4smss"] -[sub_resource type="SphereShape3D" id="SphereShape3D_itd0i"] -radius = 0.868968 +[sub_resource type="BoxShape3D" id="BoxShape3D_4smss"] +size = Vector3(1, 1, 0.32867432) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4smss"] resource_name = "material_0" @@ -28,14 +29,31 @@ loop_mode = 1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("AnimatorManager:CurrentFrame") +tracks/0/path = NodePath("FrameAnimator:CurrentFrame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 0.20016107, 0.40089402, 0.60219884), -"transitions": PackedFloat32Array(1, 1, 1, 1), +"times": PackedFloat32Array(0, 0.4), +"transitions": PackedFloat32Array(1, 1), "update": 1, -"values": [0, 1, 2, 3] +"values": [0, 1] +} + +[sub_resource type="Animation" id="Animation_fmo5v"] +resource_name = "Flash" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("FrameAnimator:CurrentFrame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.4), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [2, 3] } [sub_resource type="Animation" id="Animation_4smss"] @@ -43,7 +61,7 @@ length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("AnimatorManager:CurrentFrame") +tracks/0/path = NodePath("FrameAnimator:CurrentFrame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -55,7 +73,8 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_fmo5v"] _data = { -&"Flash": SubResource("Animation_pmslt"), +&"Disabled": SubResource("Animation_pmslt"), +&"Enabled": SubResource("Animation_fmo5v"), &"RESET": SubResource("Animation_4smss") } @@ -75,7 +94,8 @@ texture = ExtResource("2_uok2k") hframes = 4 [node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1191207257] -shape = SubResource("SphereShape3D_itd0i") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.09780884) +shape = SubResource("BoxShape3D_4smss") [node name="ActivationSound" type="AudioStreamPlayer3D" parent="." unique_id=1198083209] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.15351868) @@ -92,12 +112,18 @@ bus = &"Effects" [node name="cylinder" parent="blockbench_export2" index="0"] surface_material_override/0 = SubResource("StandardMaterial3D_4smss") -[node name="AnimatorManager" type="Node3D" parent="." unique_id=1796988427 node_paths=PackedStringArray("TargetMesh")] +[node name="FrameAnimator" type="Node3D" parent="." unique_id=1796988427 node_paths=PackedStringArray("TargetMesh")] script = ExtResource("6_uok2k") TargetMesh = NodePath("../blockbench_export2/cylinder") [node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=38747516] libraries/ = SubResource("AnimationLibrary_fmo5v") -autoplay = &"Flash" + +[node name="AnimationManager" type="Node" parent="." unique_id=1990112030 node_paths=PackedStringArray("TargetSwitch", "TargetAnimationPlayer")] +script = ExtResource("8_4smss") +TargetSwitch = NodePath("..") +TargetAnimationPlayer = NodePath("../AnimationPlayer") +AnimationEnabled = &"Enabled" +AnimationDisabled = &"Disabled" [editable path="blockbench_export2"] diff --git a/IsoTest/Factory5.tscn b/IsoTest/Factory5.tscn index cf8a5a07..e22b4a8d 100644 --- a/IsoTest/Factory5.tscn +++ b/IsoTest/Factory5.tscn @@ -845,430 +845,430 @@ script = ExtResource("7_o20g7") local_map_file = "uid://bf4kyrihhtck2" map_settings = ExtResource("8_oins3") -[node name="entity_0_worldspawn" type="StaticBody3D" parent="FuncGodotMap" unique_id=883505538 groups=["Solid"]] +[node name="entity_0_worldspawn" type="StaticBody3D" parent="FuncGodotMap" unique_id=292150403 groups=["Solid"]] collision_mask = 0 script = ExtResource("9_fwnlg") -[node name="entity_0_mesh_instance" type="MeshInstance3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1028933331] +[node name="entity_0_mesh_instance" type="MeshInstance3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1550839648] layers = 2 mesh = SubResource("ArrayMesh_hbnpg") -[node name="entity_0_occluder_instance" type="OccluderInstance3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=526931789] +[node name="entity_0_occluder_instance" type="OccluderInstance3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=164712905] occluder = SubResource("ArrayOccluder3D_w3dkm") -[node name="entity_0_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=565130697] +[node name="entity_0_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1590985323] shape = SubResource("ConvexPolygonShape3D_4urje") -[node name="entity_0_brush_1_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=994690876] +[node name="entity_0_brush_1_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2014941484] shape = SubResource("ConvexPolygonShape3D_ag52t") -[node name="entity_0_brush_2_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2140206177] +[node name="entity_0_brush_2_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=221076029] shape = SubResource("ConvexPolygonShape3D_blvlj") -[node name="entity_0_brush_3_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=356735519] +[node name="entity_0_brush_3_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1964045438] shape = SubResource("ConvexPolygonShape3D_ukq6u") -[node name="entity_0_brush_4_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=879796954] +[node name="entity_0_brush_4_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1548498352] shape = SubResource("ConvexPolygonShape3D_fvoih") -[node name="entity_0_brush_5_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=530544714] +[node name="entity_0_brush_5_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=212294749] shape = SubResource("ConvexPolygonShape3D_csr4o") -[node name="entity_0_brush_6_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=276539677] +[node name="entity_0_brush_6_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=921217917] shape = SubResource("ConvexPolygonShape3D_1bq02") -[node name="entity_0_brush_7_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1591754301] +[node name="entity_0_brush_7_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=54283979] shape = SubResource("ConvexPolygonShape3D_34eih") -[node name="entity_0_brush_8_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1092580542] +[node name="entity_0_brush_8_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=225201980] shape = SubResource("ConvexPolygonShape3D_1s4dl") -[node name="entity_0_brush_9_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1714421626] +[node name="entity_0_brush_9_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=854966000] shape = SubResource("ConvexPolygonShape3D_580jd") -[node name="entity_0_brush_10_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1408693876] +[node name="entity_0_brush_10_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=392834446] shape = SubResource("ConvexPolygonShape3D_bemuu") -[node name="entity_0_brush_11_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1948947229] +[node name="entity_0_brush_11_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1319415334] shape = SubResource("ConvexPolygonShape3D_gr7o8") -[node name="entity_0_brush_12_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=953449289] +[node name="entity_0_brush_12_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=840857189] shape = SubResource("ConvexPolygonShape3D_1gr5t") -[node name="entity_0_brush_13_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1162594355] +[node name="entity_0_brush_13_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=63213493] shape = SubResource("ConvexPolygonShape3D_a02p2") -[node name="entity_0_brush_14_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=164080615] +[node name="entity_0_brush_14_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=52817078] shape = SubResource("ConvexPolygonShape3D_ifrpi") -[node name="entity_0_brush_15_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=19287712] +[node name="entity_0_brush_15_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2090981613] shape = SubResource("ConvexPolygonShape3D_5su03") -[node name="entity_0_brush_16_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1367018680] +[node name="entity_0_brush_16_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=462707910] shape = SubResource("ConvexPolygonShape3D_ruwlx") -[node name="entity_0_brush_17_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=579825496] +[node name="entity_0_brush_17_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=190914715] shape = SubResource("ConvexPolygonShape3D_6yfb7") -[node name="entity_0_brush_18_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1927201368] +[node name="entity_0_brush_18_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=735344779] shape = SubResource("ConvexPolygonShape3D_xtcb3") -[node name="entity_0_brush_19_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1933186315] +[node name="entity_0_brush_19_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=204217467] shape = SubResource("ConvexPolygonShape3D_anoei") -[node name="entity_0_brush_20_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2126754907] +[node name="entity_0_brush_20_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=274609495] shape = SubResource("ConvexPolygonShape3D_wiem3") -[node name="entity_0_brush_21_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1995157572] +[node name="entity_0_brush_21_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1739743295] shape = SubResource("ConvexPolygonShape3D_ys3g0") -[node name="entity_0_brush_22_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1258535114] +[node name="entity_0_brush_22_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=775948568] shape = SubResource("ConvexPolygonShape3D_384g8") -[node name="entity_0_brush_23_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=517426365] +[node name="entity_0_brush_23_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1346016219] shape = SubResource("ConvexPolygonShape3D_jn478") -[node name="entity_0_brush_24_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2068769915] +[node name="entity_0_brush_24_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2119583181] shape = SubResource("ConvexPolygonShape3D_e2gwm") -[node name="entity_0_brush_25_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=210427657] +[node name="entity_0_brush_25_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1343022037] shape = SubResource("ConvexPolygonShape3D_iy5oy") -[node name="entity_0_brush_26_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=432979465] +[node name="entity_0_brush_26_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1060545579] shape = SubResource("ConvexPolygonShape3D_axapb") -[node name="entity_0_brush_27_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=978722988] +[node name="entity_0_brush_27_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=325387198] shape = SubResource("ConvexPolygonShape3D_6hfgq") -[node name="entity_0_brush_28_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=607855896] +[node name="entity_0_brush_28_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=281773754] shape = SubResource("ConvexPolygonShape3D_ty27u") -[node name="entity_0_brush_29_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1378533622] +[node name="entity_0_brush_29_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1481595928] shape = SubResource("ConvexPolygonShape3D_yuchj") -[node name="entity_0_brush_30_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=776595376] +[node name="entity_0_brush_30_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1218971504] shape = SubResource("ConvexPolygonShape3D_wknh8") -[node name="entity_0_brush_31_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1460460833] +[node name="entity_0_brush_31_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2032467287] shape = SubResource("ConvexPolygonShape3D_5e0pm") -[node name="entity_0_brush_32_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=26319913] +[node name="entity_0_brush_32_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=300992039] shape = SubResource("ConvexPolygonShape3D_j3auo") -[node name="entity_0_brush_33_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1006969931] +[node name="entity_0_brush_33_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=397787591] shape = SubResource("ConvexPolygonShape3D_uj64g") -[node name="entity_0_brush_34_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2140090558] +[node name="entity_0_brush_34_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=739530063] shape = SubResource("ConvexPolygonShape3D_uu0i4") -[node name="entity_0_brush_35_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=95534132] +[node name="entity_0_brush_35_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=363193458] shape = SubResource("ConvexPolygonShape3D_gf72e") -[node name="entity_0_brush_36_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=200947396] +[node name="entity_0_brush_36_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1571509005] shape = SubResource("ConvexPolygonShape3D_en8oj") -[node name="entity_0_brush_37_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=246262680] +[node name="entity_0_brush_37_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=517704169] shape = SubResource("ConvexPolygonShape3D_ca7wx") -[node name="entity_0_brush_38_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=808510019] +[node name="entity_0_brush_38_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1272589590] shape = SubResource("ConvexPolygonShape3D_o20g7") -[node name="entity_0_brush_39_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=865852066] +[node name="entity_0_brush_39_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1625653016] shape = SubResource("ConvexPolygonShape3D_oins3") -[node name="entity_0_brush_40_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=157165962] +[node name="entity_0_brush_40_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=907697457] shape = SubResource("ConvexPolygonShape3D_fwnlg") -[node name="entity_0_brush_41_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1755894603] +[node name="entity_0_brush_41_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2136403339] shape = SubResource("ConvexPolygonShape3D_d3w0t") -[node name="entity_0_brush_42_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=521780410] +[node name="entity_0_brush_42_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1793468831] shape = SubResource("ConvexPolygonShape3D_a38vm") -[node name="entity_0_brush_43_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=533208430] +[node name="entity_0_brush_43_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1721816039] shape = SubResource("ConvexPolygonShape3D_dej3x") -[node name="entity_0_brush_44_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1482644439] +[node name="entity_0_brush_44_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=575684750] shape = SubResource("ConvexPolygonShape3D_dxayj") -[node name="entity_0_brush_45_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1167518628] +[node name="entity_0_brush_45_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=774239757] shape = SubResource("ConvexPolygonShape3D_2owvf") -[node name="entity_0_brush_46_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1422482100] +[node name="entity_0_brush_46_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1111532741] shape = SubResource("ConvexPolygonShape3D_y22eg") -[node name="entity_0_brush_47_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=940066865] +[node name="entity_0_brush_47_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1176174732] shape = SubResource("ConvexPolygonShape3D_vusqi") -[node name="entity_0_brush_48_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=82945339] +[node name="entity_0_brush_48_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1724308754] shape = SubResource("ConvexPolygonShape3D_2xm8b") -[node name="entity_0_brush_49_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=239022839] +[node name="entity_0_brush_49_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1190900473] shape = SubResource("ConvexPolygonShape3D_jlu2f") -[node name="entity_0_brush_50_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1931504801] +[node name="entity_0_brush_50_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1546045381] shape = SubResource("ConvexPolygonShape3D_k0g25") -[node name="entity_0_brush_51_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=434467256] +[node name="entity_0_brush_51_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=510534903] shape = SubResource("ConvexPolygonShape3D_l1a0b") -[node name="entity_0_brush_52_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=200914076] +[node name="entity_0_brush_52_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1562468737] shape = SubResource("ConvexPolygonShape3D_47tbo") -[node name="entity_0_brush_53_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=640902653] +[node name="entity_0_brush_53_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=739258736] shape = SubResource("ConvexPolygonShape3D_wf88x") -[node name="entity_0_brush_54_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=593460517] +[node name="entity_0_brush_54_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=206891552] shape = SubResource("ConvexPolygonShape3D_0ky12") -[node name="entity_0_brush_55_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1234446517] +[node name="entity_0_brush_55_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1840181919] shape = SubResource("ConvexPolygonShape3D_n1vwn") -[node name="entity_0_brush_56_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1886719895] +[node name="entity_0_brush_56_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=697425828] shape = SubResource("ConvexPolygonShape3D_5o4rr") -[node name="entity_0_brush_57_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1365002193] +[node name="entity_0_brush_57_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1593745231] shape = SubResource("ConvexPolygonShape3D_hntt0") -[node name="entity_0_brush_58_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=892785862] +[node name="entity_0_brush_58_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1943328971] shape = SubResource("ConvexPolygonShape3D_vd1el") -[node name="entity_0_brush_59_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=443453185] +[node name="entity_0_brush_59_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=818950406] shape = SubResource("ConvexPolygonShape3D_2773l") -[node name="entity_0_brush_60_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=597655065] +[node name="entity_0_brush_60_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=148754066] shape = SubResource("ConvexPolygonShape3D_qse5o") -[node name="entity_0_brush_61_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1124162823] +[node name="entity_0_brush_61_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=226013181] shape = SubResource("ConvexPolygonShape3D_yiv5i") -[node name="entity_0_brush_62_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=29760851] +[node name="entity_0_brush_62_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1036493052] shape = SubResource("ConvexPolygonShape3D_f5np8") -[node name="entity_0_brush_63_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1183490032] +[node name="entity_0_brush_63_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=531298651] shape = SubResource("ConvexPolygonShape3D_ji6kn") -[node name="entity_0_brush_64_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1882268990] +[node name="entity_0_brush_64_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1383075855] shape = SubResource("ConvexPolygonShape3D_iquqk") -[node name="entity_0_brush_65_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1474626782] +[node name="entity_0_brush_65_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=938661395] shape = SubResource("ConvexPolygonShape3D_i4lbu") -[node name="entity_0_brush_66_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2116670822] +[node name="entity_0_brush_66_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=223929260] shape = SubResource("ConvexPolygonShape3D_0y1p3") -[node name="entity_0_brush_67_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=436685904] +[node name="entity_0_brush_67_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=58671665] shape = SubResource("ConvexPolygonShape3D_u87x4") -[node name="entity_0_brush_68_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=516631464] +[node name="entity_0_brush_68_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=51489427] shape = SubResource("ConvexPolygonShape3D_3sten") -[node name="entity_0_brush_69_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=632571896] +[node name="entity_0_brush_69_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=358792677] shape = SubResource("ConvexPolygonShape3D_82bxw") -[node name="entity_0_brush_70_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=896011474] +[node name="entity_0_brush_70_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1220883934] shape = SubResource("ConvexPolygonShape3D_4sj5l") -[node name="entity_0_brush_71_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1776810252] +[node name="entity_0_brush_71_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=138907335] shape = SubResource("ConvexPolygonShape3D_8s8wb") -[node name="entity_0_brush_72_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=739970937] +[node name="entity_0_brush_72_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1167670339] shape = SubResource("ConvexPolygonShape3D_m7g18") -[node name="entity_0_brush_73_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1022661249] +[node name="entity_0_brush_73_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1146691802] shape = SubResource("ConvexPolygonShape3D_xd75i") -[node name="entity_0_brush_74_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=159004488] +[node name="entity_0_brush_74_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=192305946] shape = SubResource("ConvexPolygonShape3D_2o165") -[node name="entity_0_brush_75_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1660844648] +[node name="entity_0_brush_75_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1806123027] shape = SubResource("ConvexPolygonShape3D_r223v") -[node name="entity_0_brush_76_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1224384846] +[node name="entity_0_brush_76_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=705218784] shape = SubResource("ConvexPolygonShape3D_gg81e") -[node name="entity_0_brush_77_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1060286851] +[node name="entity_0_brush_77_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=73290208] shape = SubResource("ConvexPolygonShape3D_5fhxy") -[node name="entity_0_brush_78_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=257810649] +[node name="entity_0_brush_78_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=301801424] shape = SubResource("ConvexPolygonShape3D_4ge2c") -[node name="entity_0_brush_79_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1149018098] +[node name="entity_0_brush_79_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=91123830] shape = SubResource("ConvexPolygonShape3D_syeug") -[node name="entity_0_brush_80_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=357366463] +[node name="entity_0_brush_80_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1388152227] shape = SubResource("ConvexPolygonShape3D_gkeeg") -[node name="entity_0_brush_81_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1916042867] +[node name="entity_0_brush_81_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=147094224] shape = SubResource("ConvexPolygonShape3D_c1tm5") -[node name="entity_0_brush_82_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=86985511] +[node name="entity_0_brush_82_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=530896633] shape = SubResource("ConvexPolygonShape3D_opt0r") -[node name="entity_0_brush_83_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=136669054] +[node name="entity_0_brush_83_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=442540073] shape = SubResource("ConvexPolygonShape3D_e3wp6") -[node name="entity_0_brush_84_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=605964044] +[node name="entity_0_brush_84_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=20601948] shape = SubResource("ConvexPolygonShape3D_nu04u") -[node name="entity_0_brush_85_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=776426545] +[node name="entity_0_brush_85_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1524570824] shape = SubResource("ConvexPolygonShape3D_pk3u1") -[node name="entity_0_brush_86_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=460642161] +[node name="entity_0_brush_86_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1702561817] shape = SubResource("ConvexPolygonShape3D_bfmyu") -[node name="entity_0_brush_87_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1547479936] +[node name="entity_0_brush_87_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1414310332] shape = SubResource("ConvexPolygonShape3D_2g1kp") -[node name="entity_0_brush_88_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1678892853] +[node name="entity_0_brush_88_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=478423856] shape = SubResource("ConvexPolygonShape3D_6od63") -[node name="entity_0_brush_89_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1921449962] +[node name="entity_0_brush_89_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=623021873] shape = SubResource("ConvexPolygonShape3D_njatx") -[node name="entity_0_brush_90_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1647645078] +[node name="entity_0_brush_90_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=450878083] shape = SubResource("ConvexPolygonShape3D_ipnix") -[node name="entity_0_brush_91_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1306761396] +[node name="entity_0_brush_91_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=197741276] shape = SubResource("ConvexPolygonShape3D_r28ff") -[node name="entity_0_brush_92_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1046026864] +[node name="entity_0_brush_92_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1683975085] shape = SubResource("ConvexPolygonShape3D_h0vq0") -[node name="entity_0_brush_93_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=727740447] +[node name="entity_0_brush_93_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1685636731] shape = SubResource("ConvexPolygonShape3D_ahvys") -[node name="entity_0_brush_94_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2049938776] +[node name="entity_0_brush_94_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=64868993] shape = SubResource("ConvexPolygonShape3D_didrr") -[node name="entity_0_brush_95_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2034743666] +[node name="entity_0_brush_95_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=352355113] shape = SubResource("ConvexPolygonShape3D_66onh") -[node name="entity_0_brush_96_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2036172064] +[node name="entity_0_brush_96_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=642752810] shape = SubResource("ConvexPolygonShape3D_e6rx4") -[node name="entity_0_brush_97_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=136676663] +[node name="entity_0_brush_97_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1187513397] shape = SubResource("ConvexPolygonShape3D_ittxv") -[node name="entity_0_brush_98_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2031233720] +[node name="entity_0_brush_98_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1877394257] shape = SubResource("ConvexPolygonShape3D_7urdp") -[node name="entity_0_brush_99_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=844388696] +[node name="entity_0_brush_99_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=512496231] shape = SubResource("ConvexPolygonShape3D_snw48") -[node name="entity_0_brush_100_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1324901453] +[node name="entity_0_brush_100_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1678927584] shape = SubResource("ConvexPolygonShape3D_2daic") -[node name="entity_0_brush_101_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=678247117] +[node name="entity_0_brush_101_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1275108354] shape = SubResource("ConvexPolygonShape3D_28q0o") -[node name="entity_0_brush_102_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1488328652] +[node name="entity_0_brush_102_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1516728708] shape = SubResource("ConvexPolygonShape3D_8colo") -[node name="entity_0_brush_103_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2007483592] +[node name="entity_0_brush_103_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1328299710] shape = SubResource("ConvexPolygonShape3D_yflib") -[node name="entity_0_brush_104_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=799931833] +[node name="entity_0_brush_104_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=873749653] shape = SubResource("ConvexPolygonShape3D_7osx1") -[node name="entity_0_brush_105_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1207227083] +[node name="entity_0_brush_105_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1523417477] shape = SubResource("ConvexPolygonShape3D_71728") -[node name="entity_0_brush_106_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1120071367] +[node name="entity_0_brush_106_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=189878862] shape = SubResource("ConvexPolygonShape3D_dnsfl") -[node name="entity_0_brush_107_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=378200071] +[node name="entity_0_brush_107_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=75764525] shape = SubResource("ConvexPolygonShape3D_0qiu1") -[node name="entity_0_brush_108_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1889508332] +[node name="entity_0_brush_108_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=984536362] shape = SubResource("ConvexPolygonShape3D_63a6j") -[node name="entity_0_brush_109_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=974040317] +[node name="entity_0_brush_109_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1427084840] shape = SubResource("ConvexPolygonShape3D_hf1tn") -[node name="entity_0_brush_110_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=182313262] +[node name="entity_0_brush_110_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1481568243] shape = SubResource("ConvexPolygonShape3D_bybqa") -[node name="entity_0_brush_111_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=683445931] +[node name="entity_0_brush_111_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1490232689] shape = SubResource("ConvexPolygonShape3D_xypm3") -[node name="entity_0_brush_112_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1015187486] +[node name="entity_0_brush_112_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1004276893] shape = SubResource("ConvexPolygonShape3D_lo8fm") -[node name="entity_0_brush_113_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1625934066] +[node name="entity_0_brush_113_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1226740833] shape = SubResource("ConvexPolygonShape3D_tif1o") -[node name="entity_0_brush_114_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=788825632] +[node name="entity_0_brush_114_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1676595429] shape = SubResource("ConvexPolygonShape3D_1e2gk") -[node name="entity_0_brush_115_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=480211505] +[node name="entity_0_brush_115_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1342521914] shape = SubResource("ConvexPolygonShape3D_41my4") -[node name="entity_0_brush_116_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2141606685] +[node name="entity_0_brush_116_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=279357912] shape = SubResource("ConvexPolygonShape3D_sdq6g") -[node name="entity_0_brush_117_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=540416294] +[node name="entity_0_brush_117_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=669085286] shape = SubResource("ConvexPolygonShape3D_8k4xs") -[node name="entity_0_brush_118_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=213013924] +[node name="entity_0_brush_118_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=691043191] shape = SubResource("ConvexPolygonShape3D_d6vef") -[node name="entity_0_brush_119_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2005894257] +[node name="entity_0_brush_119_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1451821931] shape = SubResource("ConvexPolygonShape3D_sw3a7") -[node name="entity_0_brush_120_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=582407331] +[node name="entity_0_brush_120_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=211929854] shape = SubResource("ConvexPolygonShape3D_7bxdq") -[node name="entity_0_brush_121_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=655017048] +[node name="entity_0_brush_121_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=663248369] shape = SubResource("ConvexPolygonShape3D_2kyqq") -[node name="entity_0_brush_122_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=956389791] +[node name="entity_0_brush_122_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1636839977] shape = SubResource("ConvexPolygonShape3D_wsyfc") -[node name="entity_0_brush_123_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1200832330] +[node name="entity_0_brush_123_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=2076936541] shape = SubResource("ConvexPolygonShape3D_7wsac") -[node name="entity_0_brush_124_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=84162460] +[node name="entity_0_brush_124_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1261935689] shape = SubResource("ConvexPolygonShape3D_e8cut") -[node name="entity_0_brush_125_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=361053814] +[node name="entity_0_brush_125_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=989323994] shape = SubResource("ConvexPolygonShape3D_lunn3") -[node name="entity_0_brush_126_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=542102331] +[node name="entity_0_brush_126_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1324940337] shape = SubResource("ConvexPolygonShape3D_pgb51") -[node name="entity_0_brush_127_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=389522252] +[node name="entity_0_brush_127_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1434985555] shape = SubResource("ConvexPolygonShape3D_u2do8") -[node name="entity_0_brush_128_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1112632295] +[node name="entity_0_brush_128_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1928282034] shape = SubResource("ConvexPolygonShape3D_pcrwo") -[node name="entity_0_brush_129_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1752464428] +[node name="entity_0_brush_129_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1964331369] shape = SubResource("ConvexPolygonShape3D_4uw5d") -[node name="entity_0_brush_130_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1870634038] +[node name="entity_0_brush_130_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=1133319012] shape = SubResource("ConvexPolygonShape3D_c8nxq") -[node name="entity_0_brush_131_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=150286452] +[node name="entity_0_brush_131_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_0_worldspawn" unique_id=165362455] shape = SubResource("ConvexPolygonShape3D_i66w3") -[node name="entity_1_marker_spawn" type="Marker3D" parent="FuncGodotMap" unique_id=1292576913] +[node name="entity_1_marker_spawn" type="Marker3D" parent="FuncGodotMap" unique_id=355429461] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.25, 1.375, -1.25) script = ExtResource("60_r28ff") -[node name="entity_2_actor_door_1" parent="FuncGodotMap" unique_id=926923460 instance=ExtResource("57_6od63")] +[node name="entity_2_actor_door_1" parent="FuncGodotMap" unique_id=1011439948 instance=ExtResource("57_6od63")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -1, 2, -2.25) -[node name="entity_3_actor_tank" parent="FuncGodotMap" unique_id=1153969475 instance=ExtResource("67_7urdp")] +[node name="entity_3_actor_tank" parent="FuncGodotMap" unique_id=1479129110 instance=ExtResource("67_7urdp")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 5, 1.5, -3) -[node name="entity_4_actor_tank" parent="FuncGodotMap" unique_id=1779323682 instance=ExtResource("67_7urdp")] +[node name="entity_4_actor_tank" parent="FuncGodotMap" unique_id=695508528 instance=ExtResource("67_7urdp")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 7, 1.5, -3) -[node name="entity_5_actor_door_1" parent="FuncGodotMap" unique_id=1051284249 instance=ExtResource("57_6od63")] +[node name="entity_5_actor_door_1" parent="FuncGodotMap" unique_id=554648431 instance=ExtResource("57_6od63")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 13, 2, -2.25) -[node name="entity_6_marker_spawn_enemy_fairy_guard" type="Marker3D" parent="FuncGodotMap" unique_id=88953613] +[node name="entity_6_marker_spawn_enemy_fairy_guard" type="Marker3D" parent="FuncGodotMap" unique_id=578920670] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.25, 1.375, 2.75) script = ExtResource("17_23qkg") Enemy = ExtResource("18_68kmw") @@ -1276,7 +1276,7 @@ AutoSpawn = true TargetName = &"" Billboard = true -[node name="entity_7_marker_spawn_enemy_fairy_guard" type="Marker3D" parent="FuncGodotMap" unique_id=1142982] +[node name="entity_7_marker_spawn_enemy_fairy_guard" type="Marker3D" parent="FuncGodotMap" unique_id=1398479888] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.75, 1.375, -0.25) script = ExtResource("17_23qkg") Enemy = ExtResource("18_68kmw") @@ -1284,7 +1284,7 @@ AutoSpawn = true TargetName = &"" Billboard = true -[node name="entity_8_marker_spawn_enemy_fairy_small" type="Marker3D" parent="FuncGodotMap" unique_id=1990248863] +[node name="entity_8_marker_spawn_enemy_fairy_small" type="Marker3D" parent="FuncGodotMap" unique_id=1726721942] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.75, 1.375, 2.75) script = ExtResource("17_23qkg") Enemy = ExtResource("19_b8rua") @@ -1292,111 +1292,111 @@ AutoSpawn = true TargetName = &"" Billboard = true -[node name="entity_9_actor_alarmbox" parent="FuncGodotMap" unique_id=1249841537 instance=ExtResource("20_pd5bx")] +[node name="entity_9_actor_alarmbox" parent="FuncGodotMap" unique_id=251519297 instance=ExtResource("20_pd5bx")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 2.75, 2, -2) -[node name="entity_10_actor_securitycamera" parent="FuncGodotMap" unique_id=42350752 instance=ExtResource("21_uevgn")] +[node name="entity_10_actor_securitycamera" parent="FuncGodotMap" unique_id=1663337945 instance=ExtResource("21_uevgn")] transform = Transform3D(1.1924881e-08, 0, -1, 0, 1, 0, 1, 0, 1.1924881e-08, -2, 2.25, 1.25) ActivationType = 6 ActivationType = 6 -[node name="entity_11_actor_door_1" parent="FuncGodotMap" unique_id=1818707880 instance=ExtResource("57_6od63")] +[node name="entity_11_actor_door_1" parent="FuncGodotMap" unique_id=722088249 instance=ExtResource("57_6od63")] transform = Transform3D(1.1924881e-08, 0, -1, 0, 1, 0, 1, 0, 1.1924881e-08, -2.25, 2, -1) GroupName = "door1" -[node name="entity_12_actor_barrel_1" parent="FuncGodotMap" unique_id=38604033 instance=ExtResource("23_mlaji")] +[node name="entity_12_actor_barrel_1" parent="FuncGodotMap" unique_id=1153384001 instance=ExtResource("23_mlaji")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.25, 1.5, 0.25) Health = 10.0 ActivationType = 6 -[node name="entity_13_actor_barrel_1" parent="FuncGodotMap" unique_id=830121606 instance=ExtResource("23_mlaji")] +[node name="entity_13_actor_barrel_1" parent="FuncGodotMap" unique_id=910728731 instance=ExtResource("23_mlaji")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.75, 1.5, 1) Health = 10.0 ActivationType = 6 -[node name="entity_14_actor_barrel_1" parent="FuncGodotMap" unique_id=300654997 instance=ExtResource("23_mlaji")] +[node name="entity_14_actor_barrel_1" parent="FuncGodotMap" unique_id=266505369 instance=ExtResource("23_mlaji")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 1.5, 1.75) Health = 10.0 ActivationType = 6 -[node name="entity_15_actor_box_green" parent="FuncGodotMap" unique_id=1955715762 instance=ExtResource("24_6ae1q")] +[node name="entity_15_actor_box_green" parent="FuncGodotMap" unique_id=2065378832 instance=ExtResource("24_6ae1q")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 7.25, 1.25, 4) Health = 10.0 ActivationType = 6 -[node name="entity_16_actor_box_green" parent="FuncGodotMap" unique_id=527080000 instance=ExtResource("24_6ae1q")] +[node name="entity_16_actor_box_green" parent="FuncGodotMap" unique_id=1284114078 instance=ExtResource("24_6ae1q")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 7, 1.25, 4.75) Health = 10.0 ActivationType = 6 -[node name="entity_17_actor_box_blue_tall" parent="FuncGodotMap" unique_id=1317516659 instance=ExtResource("25_vuw61")] +[node name="entity_17_actor_box_blue_tall" parent="FuncGodotMap" unique_id=278998453 instance=ExtResource("25_vuw61")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 1.5625, -1.25) Health = 10.0 ActivationType = 6 -[node name="entity_18_acid_area" type="Area3D" parent="FuncGodotMap" unique_id=830309266 groups=["Acid"]] +[node name="entity_18_acid_area" type="Area3D" parent="FuncGodotMap" unique_id=872104308 groups=["Acid"]] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, -1.5, -17) collision_layer = 256 collision_mask = 2 script = ExtResource("28_mlaji") -[node name="entity_18_mesh_instance" type="MeshInstance3D" parent="FuncGodotMap/entity_18_acid_area" unique_id=1018774303] +[node name="entity_18_mesh_instance" type="MeshInstance3D" parent="FuncGodotMap/entity_18_acid_area" unique_id=919782927] layers = 2 cast_shadow = 0 mesh = SubResource("ArrayMesh_oh51q") -[node name="entity_18_occluder_instance" type="OccluderInstance3D" parent="FuncGodotMap/entity_18_acid_area" unique_id=996860924] +[node name="entity_18_occluder_instance" type="OccluderInstance3D" parent="FuncGodotMap/entity_18_acid_area" unique_id=939374992] occluder = SubResource("ArrayOccluder3D_lhi0r") -[node name="entity_18_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_18_acid_area" unique_id=837482757] +[node name="entity_18_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_18_acid_area" unique_id=1562888133] shape = SubResource("ConvexPolygonShape3D_sulfy") -[node name="entity_19_actor_tank_large" parent="FuncGodotMap" unique_id=1739221627 instance=ExtResource("30_3avgr")] +[node name="entity_19_actor_tank_large" parent="FuncGodotMap" unique_id=1164496873 instance=ExtResource("30_3avgr")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -7, 2, -8) -[node name="entity_20_solid_bullet_permeable" type="StaticBody3D" parent="FuncGodotMap" unique_id=2075359814] +[node name="entity_20_solid_bullet_permeable" type="StaticBody3D" parent="FuncGodotMap" unique_id=1844232582] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 1.375, -9.875) collision_layer = 512 collision_mask = 0 -[node name="entity_20_mesh_instance" type="MeshInstance3D" parent="FuncGodotMap/entity_20_solid_bullet_permeable" unique_id=157676844] +[node name="entity_20_mesh_instance" type="MeshInstance3D" parent="FuncGodotMap/entity_20_solid_bullet_permeable" unique_id=1701547022] layers = 2 mesh = SubResource("ArrayMesh_5l7bh") -[node name="entity_20_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_20_solid_bullet_permeable" unique_id=234276880] +[node name="entity_20_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_20_solid_bullet_permeable" unique_id=745219496] shape = SubResource("ConvexPolygonShape3D_vy0mc") -[node name="entity_21_actor_box_wood" parent="FuncGodotMap" unique_id=1632448675 instance=ExtResource("32_vuw61")] +[node name="entity_21_actor_box_wood" parent="FuncGodotMap" unique_id=596405537 instance=ExtResource("32_vuw61")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 1, 1.25, -8.75) Health = 10.0 ActivationType = 6 -[node name="entity_22_solid_bullet_permeable" type="StaticBody3D" parent="FuncGodotMap" unique_id=1740724814] +[node name="entity_22_solid_bullet_permeable" type="StaticBody3D" parent="FuncGodotMap" unique_id=1520306187] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1.375, -9.875) collision_layer = 512 collision_mask = 0 -[node name="entity_22_mesh_instance" type="MeshInstance3D" parent="FuncGodotMap/entity_22_solid_bullet_permeable" unique_id=541657095] +[node name="entity_22_mesh_instance" type="MeshInstance3D" parent="FuncGodotMap/entity_22_solid_bullet_permeable" unique_id=2091297122] layers = 2 mesh = SubResource("ArrayMesh_yaodv") -[node name="entity_22_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_22_solid_bullet_permeable" unique_id=1139033723] +[node name="entity_22_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_22_solid_bullet_permeable" unique_id=1801720608] shape = SubResource("ConvexPolygonShape3D_g7ro8") -[node name="entity_23_actor_box_wood_tall" parent="FuncGodotMap" unique_id=1254814183 instance=ExtResource("33_vuw61")] +[node name="entity_23_actor_box_wood_tall" parent="FuncGodotMap" unique_id=417432538 instance=ExtResource("33_vuw61")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.25, 1.5625, -1.5) Health = 10.0 ActivationType = 6 -[node name="entity_24_actor_box_wood_tall" parent="FuncGodotMap" unique_id=253898489 instance=ExtResource("33_vuw61")] +[node name="entity_24_actor_box_wood_tall" parent="FuncGodotMap" unique_id=601868794 instance=ExtResource("33_vuw61")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.25, 1.5625, 3.25) Health = 10.0 ActivationType = 6 -[node name="entity_25_actor_watercooler" parent="FuncGodotMap" unique_id=636863688 instance=ExtResource("34_mlaji")] +[node name="entity_25_actor_watercooler" parent="FuncGodotMap" unique_id=813515010 instance=ExtResource("34_mlaji")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -8.5, 1.75, -3.5) -[node name="entity_26_trigger_area" type="Area3D" parent="FuncGodotMap" unique_id=152511719] +[node name="entity_26_trigger_area" type="Area3D" parent="FuncGodotMap" unique_id=2117912783] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, -1) collision_layer = 4 collision_mask = 2 @@ -1405,91 +1405,93 @@ script = ExtResource("35_05o68") Target = "door1" ActivationType = 5 -[node name="entity_26_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_26_trigger_area" unique_id=1342706283] +[node name="entity_26_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_26_trigger_area" unique_id=2025012648] shape = SubResource("ConvexPolygonShape3D_60r4x") -[node name="entity_27_actor_teleporter" parent="FuncGodotMap" unique_id=1524332889 instance=ExtResource("36_pb65v")] +[node name="entity_27_actor_teleporter" parent="FuncGodotMap" unique_id=1957679649 instance=ExtResource("36_pb65v")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -11.5, 1.0625, -1.5) -[node name="entity_28_actor_terminal_big" parent="FuncGodotMap" unique_id=137039336 instance=ExtResource("37_6ja5v")] +[node name="entity_28_actor_terminal_big" parent="FuncGodotMap" unique_id=549266744 instance=ExtResource("37_6ja5v")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -10.75, 1.75, -3.5) -[node name="entity_29_actor_teleporter" parent="FuncGodotMap" unique_id=1439433985 instance=ExtResource("36_pb65v")] +[node name="entity_29_actor_teleporter" parent="FuncGodotMap" unique_id=1962695468 instance=ExtResource("36_pb65v")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.5, 1.0625, 12.5) TargetGroup = "tp2" TargetName = "tp1" -[node name="entity_30_actor_table_004" parent="FuncGodotMap" unique_id=59774160 instance=ExtResource("38_62rkn")] +[node name="entity_30_actor_table_004" parent="FuncGodotMap" unique_id=1004433969 instance=ExtResource("38_62rkn")] transform = Transform3D(1.1924881e-08, 0, -1, 0, 1, 0, 1, 0, 1.1924881e-08, 0.5, 1.25, 10.5) -[node name="entity_31_actor_terminal" parent="FuncGodotMap" unique_id=382200755 instance=ExtResource("39_ib06w")] +[node name="entity_31_actor_terminal" parent="FuncGodotMap" unique_id=424369775 instance=ExtResource("39_ib06w")] transform = Transform3D(1.1924881e-08, 0, -1, 0, 1, 0, 1, 0, 1.1924881e-08, 0.375, 1.75, 10.5) -[node name="entity_32_actor_furniture_computertower" parent="FuncGodotMap" unique_id=137095395 instance=ExtResource("40_6g8f2")] +[node name="entity_32_actor_furniture_computertower" parent="FuncGodotMap" unique_id=423451185 instance=ExtResource("40_6g8f2")] transform = Transform3D(-5.2125306e-16, -1.1924881e-08, -1, 1, -4.371139e-08, 0, -4.371139e-08, -1, 1.1924881e-08, 0.5625, 1.1875, 10.625) -[node name="entity_33_actor_teleporter" parent="FuncGodotMap" unique_id=579114140 instance=ExtResource("36_pb65v")] +[node name="entity_33_actor_teleporter" parent="FuncGodotMap" unique_id=1931774535 instance=ExtResource("36_pb65v")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.5, 1.0625, 17.5) TargetGroup = "tp1" TargetName = "tp2" -[node name="entity_34_actor_chest_1" parent="FuncGodotMap" unique_id=485594112 instance=ExtResource("41_wvl86")] +[node name="entity_34_actor_chest_1" parent="FuncGodotMap" unique_id=385205381 instance=ExtResource("41_wvl86")] transform = Transform3D(1.1924881e-08, 0, -1, 0, 1, 0, 1, 0, 1.1924881e-08, 0.25, 1.5, 19) -[node name="entity_35_actor_table_002" parent="FuncGodotMap" unique_id=1063572202 instance=ExtResource("42_ib06w")] +[node name="entity_35_actor_table_002" parent="FuncGodotMap" unique_id=232369728 instance=ExtResource("42_ib06w")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 2.5, 1.25, 19) -[node name="entity_36_marker_spawn_item" type="Marker3D" parent="FuncGodotMap" unique_id=1168540608] +[node name="entity_36_marker_spawn_item" type="Marker3D" parent="FuncGodotMap" unique_id=293486018] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 2.125, 19) script = ExtResource("43_6g8f2") Item = ExtResource("44_wvl86") AutoSpawn = true Billboard = true -[node name="entity_37_actor_box_yellow" parent="FuncGodotMap" unique_id=345875815 instance=ExtResource("45_oshe8")] +[node name="entity_37_actor_box_yellow" parent="FuncGodotMap" unique_id=71687942 instance=ExtResource("45_oshe8")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 3.5, 1.25, 19.75) Health = 10.0 ActivationType = 6 -[node name="entity_38_actor_box_wood" parent="FuncGodotMap" unique_id=2104398247 instance=ExtResource("32_vuw61")] +[node name="entity_38_actor_box_wood" parent="FuncGodotMap" unique_id=1870420675 instance=ExtResource("32_vuw61")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 2.5, 1.25, 20) Health = 10.0 ActivationType = 6 -[node name="entity_39_acid_area" type="Area3D" parent="FuncGodotMap" unique_id=1978956224 groups=["Acid"]] +[node name="entity_39_acid_area" type="Area3D" parent="FuncGodotMap" unique_id=967476819 groups=["Acid"]] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.75, -1.5, 15) collision_layer = 256 collision_mask = 2 script = ExtResource("28_mlaji") -[node name="entity_39_mesh_instance" type="MeshInstance3D" parent="FuncGodotMap/entity_39_acid_area" unique_id=604956640] +[node name="entity_39_mesh_instance" type="MeshInstance3D" parent="FuncGodotMap/entity_39_acid_area" unique_id=549539992] layers = 2 cast_shadow = 0 mesh = SubResource("ArrayMesh_eavwn") -[node name="entity_39_occluder_instance" type="OccluderInstance3D" parent="FuncGodotMap/entity_39_acid_area" unique_id=563315646] +[node name="entity_39_occluder_instance" type="OccluderInstance3D" parent="FuncGodotMap/entity_39_acid_area" unique_id=1503056859] occluder = SubResource("ArrayOccluder3D_phy7v") -[node name="entity_39_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_39_acid_area" unique_id=1477325520] +[node name="entity_39_brush_0_collision_shape" type="CollisionShape3D" parent="FuncGodotMap/entity_39_acid_area" unique_id=1872559174] shape = SubResource("ConvexPolygonShape3D_0mv2y") -[node name="entity_40_actor_elevator_1" parent="FuncGodotMap" unique_id=999862061 instance=ExtResource("54_gb634")] +[node name="entity_40_actor_elevator_1" parent="FuncGodotMap" unique_id=1582405401 instance=ExtResource("54_gb634")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21, -1.5, 17) +TargetName = &"elevator_1" -[node name="entity_41_actor_tank" parent="FuncGodotMap" unique_id=1577877165 instance=ExtResource("67_7urdp")] +[node name="entity_41_actor_tank" parent="FuncGodotMap" unique_id=1537744241 instance=ExtResource("67_7urdp")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 1.5, 1.5, 8) -[node name="entity_42_actor_tank_large" parent="FuncGodotMap" unique_id=1121969493 instance=ExtResource("30_3avgr")] +[node name="entity_42_actor_tank_large" parent="FuncGodotMap" unique_id=109446633 instance=ExtResource("30_3avgr")] transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 18, 2, 9) -[node name="entity_43_actor_tube_straight" parent="FuncGodotMap" unique_id=383888513 instance=ExtResource("55_gb634")] +[node name="entity_43_actor_tube_straight" parent="FuncGodotMap" unique_id=922697348 instance=ExtResource("55_gb634")] transform = Transform3D(4.371139e-08, 1, -8.742278e-08, 1, -4.371139e-08, 0, -3.821371e-15, -8.742278e-08, -1, 3, 1.5, 8.5) -[node name="entity_44_actor_tube_corner" parent="FuncGodotMap" unique_id=214226078 instance=ExtResource("56_3awna")] +[node name="entity_44_actor_tube_corner" parent="FuncGodotMap" unique_id=844516525 instance=ExtResource("56_3awna")] transform = Transform3D(4.371139e-08, 1, -8.742278e-08, 1, -4.371139e-08, 0, -3.821371e-15, -8.742278e-08, -1, 3, 2.5, 8.5) -[node name="entity_45_actor_controlpad" parent="FuncGodotMap" unique_id=152441171 instance=ExtResource("58_q5o5k")] +[node name="entity_45_actor_controlpad" parent="FuncGodotMap" unique_id=827635079 instance=ExtResource("58_q5o5k")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 19.75, 2, 16) +TargetGroup = "elevator_1" ActivationType = 6 [node name="entity_46_actor_controlpad_shoot" parent="FuncGodotMap" unique_id=454991887 instance=ExtResource("61_df6r4")] @@ -1497,92 +1499,92 @@ transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 13.2 TargetGroup = "acid_pit_door" ActivationType = 5 -[node name="entity_47_actor_door_1" parent="FuncGodotMap" unique_id=1247060923 instance=ExtResource("57_6od63")] +[node name="entity_47_actor_door_1" parent="FuncGodotMap" unique_id=295349639 instance=ExtResource("57_6od63")] transform = Transform3D(1.1924881e-08, 0, -1, 0, 1, 0, 1, 0, 1.1924881e-08, 15.75, 2, 15) GroupName = "acid_pit_door" -[node name="entity_48_actor_forcefield_1" parent="FuncGodotMap" unique_id=1720551309 instance=ExtResource("62_jtdnn")] +[node name="entity_48_actor_forcefield_1" parent="FuncGodotMap" unique_id=839938539 instance=ExtResource("62_jtdnn")] transform = Transform3D(1.1924881e-08, 0, -1, 0, 1, 0, 1, 0, 1.1924881e-08, 0, 2, 15) -[node name="entity_49_actor_mainframe" parent="FuncGodotMap" unique_id=1709670378 instance=ExtResource("63_o604x")] +[node name="entity_49_actor_mainframe" parent="FuncGodotMap" unique_id=1610958407 instance=ExtResource("63_o604x")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.5, 1.75, -35.5) -[node name="entity_50_actor_mainframe" parent="FuncGodotMap" unique_id=1124109884 instance=ExtResource("63_o604x")] +[node name="entity_50_actor_mainframe" parent="FuncGodotMap" unique_id=2143146810 instance=ExtResource("63_o604x")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 1.5, 1.75, -35.5) -[node name="entity_51_actor_mainframe" parent="FuncGodotMap" unique_id=501963455 instance=ExtResource("63_o604x")] +[node name="entity_51_actor_mainframe" parent="FuncGodotMap" unique_id=1123001486 instance=ExtResource("63_o604x")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 2.5, 1.75, -35.5) -[node name="entity_52_actor_mainframe" parent="FuncGodotMap" unique_id=570517921 instance=ExtResource("63_o604x")] +[node name="entity_52_actor_mainframe" parent="FuncGodotMap" unique_id=2025824619 instance=ExtResource("63_o604x")] transform = Transform3D(1, 0, 1.7484555e-07, 0, 1, 0, -1.7484555e-07, 0, 1, 2.5, 1.75, -36.5) -[node name="entity_53_actor_mainframe" parent="FuncGodotMap" unique_id=1583912437 instance=ExtResource("63_o604x")] +[node name="entity_53_actor_mainframe" parent="FuncGodotMap" unique_id=523928824 instance=ExtResource("63_o604x")] transform = Transform3D(1, 0, 1.7484555e-07, 0, 1, 0, -1.7484555e-07, 0, 1, 1.5, 1.75, -36.5) -[node name="entity_54_actor_mainframe" parent="FuncGodotMap" unique_id=945959948 instance=ExtResource("63_o604x")] +[node name="entity_54_actor_mainframe" parent="FuncGodotMap" unique_id=1476644701 instance=ExtResource("63_o604x")] transform = Transform3D(1, 0, 1.7484555e-07, 0, 1, 0, -1.7484555e-07, 0, 1, 0.5, 1.75, -36.5) -[node name="entity_55_actor_terminal_big" parent="FuncGodotMap" unique_id=1301872594 instance=ExtResource("37_6ja5v")] +[node name="entity_55_actor_terminal_big" parent="FuncGodotMap" unique_id=1247936985 instance=ExtResource("37_6ja5v")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 6.25, 1.75, -35.5) -[node name="entity_56_actor_terminal_big" parent="FuncGodotMap" unique_id=603447699 instance=ExtResource("37_6ja5v")] +[node name="entity_56_actor_terminal_big" parent="FuncGodotMap" unique_id=931446477 instance=ExtResource("37_6ja5v")] transform = Transform3D(1, 0, 1.7484555e-07, 0, 1, 0, -1.7484555e-07, 0, 1, 6.25, 1.75, -36.5) -[node name="entity_57_actor_filing_cabinet" parent="FuncGodotMap" unique_id=1094586788 instance=ExtResource("64_hbnpg")] +[node name="entity_57_actor_filing_cabinet" parent="FuncGodotMap" unique_id=316807878 instance=ExtResource("64_hbnpg")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 2.5, 1.5, -43.25) -[node name="entity_58_actor_filing_cabinet" parent="FuncGodotMap" unique_id=895252585 instance=ExtResource("64_hbnpg")] +[node name="entity_58_actor_filing_cabinet" parent="FuncGodotMap" unique_id=600899881 instance=ExtResource("64_hbnpg")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 3.5, 1.5, -43.25) -[node name="entity_59_actor_filing_cabinet" parent="FuncGodotMap" unique_id=631031838 instance=ExtResource("64_hbnpg")] +[node name="entity_59_actor_filing_cabinet" parent="FuncGodotMap" unique_id=1684458605 instance=ExtResource("64_hbnpg")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 1.5, 1.5, -43.25) -[node name="entity_60_actor_chair" parent="FuncGodotMap" unique_id=12422683 instance=ExtResource("65_w3dkm")] +[node name="entity_60_actor_chair" parent="FuncGodotMap" unique_id=1948877029 instance=ExtResource("65_w3dkm")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.25, 1.5, -34.5) -[node name="entity_61_actor_chair" parent="FuncGodotMap" unique_id=983275790 instance=ExtResource("65_w3dkm")] +[node name="entity_61_actor_chair" parent="FuncGodotMap" unique_id=242015030 instance=ExtResource("65_w3dkm")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 1.5, -34.5) -[node name="entity_62_actor_table_004" parent="FuncGodotMap" unique_id=756749647 instance=ExtResource("38_62rkn")] +[node name="entity_62_actor_table_004" parent="FuncGodotMap" unique_id=1170992046 instance=ExtResource("38_62rkn")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 9.25, 1.25, -36.25) -[node name="entity_63_actor_table" parent="FuncGodotMap" unique_id=789659401 instance=ExtResource("66_4urje")] +[node name="entity_63_actor_table" parent="FuncGodotMap" unique_id=83201547 instance=ExtResource("66_4urje")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 10.5, 1.25, -36.25) -[node name="entity_64_actor_table_003" parent="FuncGodotMap" unique_id=1935750566 instance=ExtResource("67_ag52t")] +[node name="entity_64_actor_table_003" parent="FuncGodotMap" unique_id=509076202 instance=ExtResource("67_ag52t")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 10, 1.25, -37) -[node name="entity_65_actor_capacitor" parent="FuncGodotMap" unique_id=1943517915 instance=ExtResource("68_blvlj")] +[node name="entity_65_actor_capacitor" parent="FuncGodotMap" unique_id=1721128927 instance=ExtResource("68_blvlj")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 13.5, 1.75, -42.75) -[node name="entity_66_actor_capacitor_mini" parent="FuncGodotMap" unique_id=225187814 instance=ExtResource("69_ukq6u")] +[node name="entity_66_actor_capacitor_mini" parent="FuncGodotMap" unique_id=564886076 instance=ExtResource("69_ukq6u")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 8, 1.5, -43.25) Health = 10.0 ActivationType = 6 -[node name="entity_67_actor_capacitor_mini" parent="FuncGodotMap" unique_id=262800855 instance=ExtResource("69_ukq6u")] +[node name="entity_67_actor_capacitor_mini" parent="FuncGodotMap" unique_id=1922102570 instance=ExtResource("69_ukq6u")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 9.25, 1.5, -43.25) Health = 10.0 ActivationType = 6 -[node name="entity_68_actor_terminal" parent="FuncGodotMap" unique_id=1627989370 instance=ExtResource("39_ib06w")] +[node name="entity_68_actor_terminal" parent="FuncGodotMap" unique_id=1963954917 instance=ExtResource("39_ib06w")] transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 9.75, 1.75, -36.25) -[node name="entity_69_actor_switch" parent="FuncGodotMap" unique_id=1676389703 instance=ExtResource("70_fvoih")] +[node name="entity_69_actor_switch" parent="FuncGodotMap" unique_id=1265891276 instance=ExtResource("70_fvoih")] transform = Transform3D(1.1924881e-08, 0, -1, 0, 1, 0, 1, 0, 1.1924881e-08, -6, 1.75, -18.5) ActivationType = 6 -[node name="entity_70_actor_ac_unit" parent="FuncGodotMap" unique_id=2123996174 instance=ExtResource("71_csr4o")] +[node name="entity_70_actor_ac_unit" parent="FuncGodotMap" unique_id=486303877 instance=ExtResource("71_csr4o")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.75, 1.5, -43.75) -[node name="entity_71_marker_spawn_item" type="Marker3D" parent="FuncGodotMap" unique_id=261029431] +[node name="entity_71_marker_spawn_item" type="Marker3D" parent="FuncGodotMap" unique_id=602136309] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.25, 1.375, -2.25) script = ExtResource("43_6g8f2") Item = ExtResource("71_o604x") AutoSpawn = true Billboard = true -[node name="entity_72_marker_spawn_item" type="Marker3D" parent="FuncGodotMap" unique_id=2017451827] +[node name="entity_72_marker_spawn_item" type="Marker3D" parent="FuncGodotMap" unique_id=191787786] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.25, 1.375, -2.75) script = ExtResource("43_6g8f2") Item = ExtResource("72_hbnpg") diff --git a/Scripts/Interactables/Switch3D.cs b/Scripts/Interactables/Switch3D.cs index b1383753..026db78c 100644 --- a/Scripts/Interactables/Switch3D.cs +++ b/Scripts/Interactables/Switch3D.cs @@ -15,13 +15,13 @@ public partial class Switch3D : Interactable3D [Export] public ActivationType ActivationType { get; set; } = ActivationType.Toggle; [Signal] - public delegate void OnActivatedEventHandler(ActivationType activationType); + public delegate void OnActivatedEventHandler(ActivationType activationType, bool success); private AudioStreamPlayer _activationSound; private AudioStreamPlayer _denySound; private readonly string _activationSoundName = "ActivationSound"; - private readonly string _denySoundName = "ActivationSound"; + private readonly string _denySoundName = "DenySound"; public override void _Ready() { @@ -60,8 +60,6 @@ public partial class Switch3D : Interactable3D _denySound?.Play(); return false; } - - EmitSignal(SignalName.OnActivated, (int)activationTypeToUse); // Compatibility for old single system bool success = ActivateTarget(Target, activationTypeToUse); @@ -83,13 +81,14 @@ public partial class Switch3D : Interactable3D _denySound?.Play(); } + EmitSignal(SignalName.OnActivated, (int)activationTypeToUse, result); return result; } private bool ActivateTarget(Node target, ActivationType activationType = ActivationType.Toggle) { if (target is not IActivable activable) return false; - activable?.Activate(activationType); + activable.Activate(activationType); return true; } diff --git a/Scripts/Interactables/SwitchAnimationManager.cs b/Scripts/Interactables/SwitchAnimationManager.cs new file mode 100644 index 00000000..528f618e --- /dev/null +++ b/Scripts/Interactables/SwitchAnimationManager.cs @@ -0,0 +1,159 @@ +using Godot; + +namespace Cirno.Scripts.Interactables; + +/// +/// Listens to the signal and plays a named animation +/// on an that reflects the switch's new state. +/// +/// Works with any Switch3D subclass (including ). +/// +/// Usage: +/// 1. Add this node as a child of the Switch3D node. +/// 2. Optionally assign and +/// in the inspector; if left empty both are discovered automatically from the parent. +/// 3. Set the three animation name exports to match animations in your AnimationPlayer. +/// Leave a name empty to skip playing an animation for that state. +/// +[Tool] +public partial class SwitchAnimationManager : Node +{ + /// + /// The switch to listen to. Auto-discovered from the parent if left empty. + /// + [Export] public Switch3D TargetSwitch { get; set; } + + /// + /// The AnimationPlayer to drive. Auto-discovered from the parent if left empty. + /// + [Export] public AnimationPlayer TargetAnimationPlayer { get; set; } + + // --- State-based animation name exports --- + + /// Animation to play when the switch transitions to the enabled (on) state. + [Export] public StringName AnimationEnabled { get; set; } = ""; + + /// Animation to play when the switch transitions to the disabled (off) state. + [Export] public StringName AnimationDisabled { get; set; } = ""; + + /// Animation to play when the switch is destroyed. + [Export] public StringName AnimationDestroyed { get; set; } = ""; + + /// + /// Whether the switch is currently considered enabled (on) or disabled (off). + /// Updated on each successful activation. + /// + public bool IsEnabled { get; private set; } + + /// + /// When true the switch has been destroyed and will no longer respond to activations. + /// + public bool IsDestroyed { get; private set; } + + public override void _Ready() + { + if (Engine.IsEditorHint()) return; + + ResolveReferences(); + + if (TargetSwitch is null) + { + GD.PushWarning($"[SwitchAnimationManager:{Name}] No Switch3D found. Assign TargetSwitch or place this node as a child of one."); + return; + } + + TargetSwitch.OnActivated += OnSwitchActivated; + + // Start in the disabled state so the AnimationPlayer is running from the beginning. + PlayAnimation(AnimationDisabled); + } + + /// + /// Fills in and from the + /// parent node when they have not been assigned explicitly in the inspector. + /// + private void ResolveReferences() + { + var parent = GetParent(); + + if (TargetSwitch is null) + TargetSwitch = parent as Switch3D; + + if (TargetAnimationPlayer is null) + TargetAnimationPlayer = parent?.FindChild("AnimationPlayer", recursive: true, owned: false) as AnimationPlayer + ?? parent?.GetNodeOrNull("AnimationPlayer"); + } + + private void OnSwitchActivated(ActivationType activationType, bool success) + { + // Ignore failed activations and permanently destroyed switches. + if (!success || IsDestroyed) return; + + UpdateState(activationType); + + StringName animationName = IsDestroyed ? AnimationDestroyed + : IsEnabled ? AnimationEnabled + : AnimationDisabled; + + PlayAnimation(animationName); + } + + /// + /// Transitions (and ) according to + /// the activation type that was successfully applied: + /// + /// / → enabled + /// / → disabled + /// / → inverted + /// → disabled + destroyed + /// + /// + private void UpdateState(ActivationType activationType) + { + switch (activationType) + { + case ActivationType.Enable: + case ActivationType.Open: + IsEnabled = true; + break; + + case ActivationType.Disable: + case ActivationType.Close: + IsEnabled = false; + break; + + case ActivationType.Toggle: + case ActivationType.Use: + IsEnabled = !IsEnabled; + break; + + case ActivationType.Destroy: + IsEnabled = false; + IsDestroyed = true; + break; + } + } + + /// + /// Plays the given animation on if the name is non-empty + /// and the animation exists. Pushes a warning otherwise. + /// + private void PlayAnimation(StringName animationName) + { + if (animationName is null || animationName == "") return; + + if (TargetAnimationPlayer is null) + { + GD.PushWarning($"[SwitchAnimationManager:{Name}] No AnimationPlayer found. Assign TargetAnimationPlayer or add one under the switch."); + return; + } + + if (!TargetAnimationPlayer.HasAnimation(animationName)) + { + GD.PushWarning($"[SwitchAnimationManager:{Name}] AnimationPlayer has no animation named '{(string)animationName}'."); + return; + } + + TargetAnimationPlayer.Play(animationName); + } +} diff --git a/Scripts/Interactables/SwitchAnimationManager.cs.uid b/Scripts/Interactables/SwitchAnimationManager.cs.uid new file mode 100644 index 00000000..ba6aaee7 --- /dev/null +++ b/Scripts/Interactables/SwitchAnimationManager.cs.uid @@ -0,0 +1 @@ +uid://cklsqt246d571