diff --git a/Assets/Objects/generator_panel.tscn b/Assets/Objects/generator_panel.tscn index 522320e..4ec127d 100644 --- a/Assets/Objects/generator_panel.tscn +++ b/Assets/Objects/generator_panel.tscn @@ -1,17 +1,18 @@ -[gd_scene load_steps=7 format=3 uid="uid://bpc015tk4ehtg"] +[gd_scene load_steps=10 format=3 uid="uid://bpc015tk4ehtg"] [ext_resource type="Script" path="res://Assets/scripts/Generator Panel.gd" id="1_i8xx2"] [ext_resource type="PackedScene" uid="uid://r4bpij06p34a" path="res://Blender Files/Objects/GeneratorPanel.blend" id="2_4k7uo"] +[ext_resource type="PackedScene" uid="uid://byuejbs64ow32" path="res://Blender Files/Objects/Key.blend" id="3_5j477"] -[sub_resource type="BoxShape3D" id="BoxShape3D_xn70b"] -size = Vector3(0.322693, 0.569824, 0.078186) +[sub_resource type="BoxShape3D" id="BoxShape3D_wv34i"] +size = Vector3(0.325256, 0.569397, 0.0860596) [sub_resource type="Animation" id="Animation_5a75i"] resource_name = "Press" tracks/0/type = "bezier" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("GeneratorPanel/Circle:blend_shapes/ButtonPressed") +tracks/0/path = NodePath("GeneratorPanel/Button:blend_shapes/ButtonPressed") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -25,7 +26,7 @@ length = 0.001 tracks/0/type = "bezier" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("GeneratorPanel/Circle:blend_shapes/ButtonPressed") +tracks/0/path = NodePath("Key:position:x") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -33,19 +34,187 @@ tracks/0/keys = { "points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), "times": PackedFloat32Array(0) } +tracks/1/type = "bezier" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Key:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0.108054, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/2/type = "bezier" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Key:position:z") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0.283752, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/3/type = "bezier" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Key:rotation:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/4/type = "bezier" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Key:rotation:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/5/type = "bezier" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Key:rotation:z") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(-1.5708, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Key:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0.108054, 0.0242537)] +} +tracks/7/type = "bezier" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("GeneratorPanel/Button:blend_shapes/ButtonPressed") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} + +[sub_resource type="Animation" id="Animation_wkhlx"] +resource_name = "InsertKey" +length = 2.0 +tracks/0/type = "bezier" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Key:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"handle_modes": PackedInt32Array(0, 0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0, 1) +} +tracks/1/type = "bezier" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Key:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"handle_modes": PackedInt32Array(0, 0), +"points": PackedFloat32Array(0.108054, -0.25, 0, 0.25, 0, 0.108054, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0, 1) +} +tracks/2/type = "bezier" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Key:position:z") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"handle_modes": PackedInt32Array(0, 0), +"points": PackedFloat32Array(0.283752, -0.25, 0, 0.25, 0, 0.109834, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0, 1) +} +tracks/3/type = "bezier" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Key:rotation:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"handle_modes": PackedInt32Array(0, 0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(1, 2) +} +tracks/4/type = "bezier" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Key:rotation:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"handle_modes": PackedInt32Array(0, 0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(1, 2) +} +tracks/5/type = "bezier" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Key:rotation:z") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"handle_modes": PackedInt32Array(0, 0), +"points": PackedFloat32Array(-1.5708, -0.25, 0, 0.25, 0, -3.14159, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(1, 2) +} + +[sub_resource type="Animation" id="Animation_hqjxv"] +resource_name = "NoKey" +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Key:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0.108054, 0.0242537)] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_ed3dm"] _data = { +"InsertKey": SubResource("Animation_wkhlx"), +"NoKey": SubResource("Animation_hqjxv"), "Press": SubResource("Animation_5a75i"), "RESET": SubResource("Animation_qkow4") } [node name="StaticBody3D" type="StaticBody3D"] +collision_layer = 4 script = ExtResource("1_i8xx2") +promt_message = "Insert Key" [node name="CollisionShape3D" type="CollisionShape3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.000640869, 0.0495605, 0.0411072) -shape = SubResource("BoxShape3D_xn70b") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000396729, 0.0523376, 0.0473022) +shape = SubResource("BoxShape3D_wv34i") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { @@ -53,6 +222,9 @@ libraries = { } [node name="GeneratorPanel" parent="." instance=ExtResource("2_4k7uo")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.0453592) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.0447993) + +[node name="Key" parent="." instance=ExtResource("3_5j477")] +transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 0.108054, 0.0242537) [editable path="GeneratorPanel"] diff --git a/Assets/scripts/Generator Panel.gd b/Assets/scripts/Generator Panel.gd index 384a392..efe722a 100644 --- a/Assets/scripts/Generator Panel.gd +++ b/Assets/scripts/Generator Panel.gd @@ -1,10 +1,17 @@ extends StaticBody3D +signal Generator_Started @export var promt_message:String = "press e" @export var promt_key:String -signal Generator_Started +@onready var animate = $AnimationPlayer + +func _ready(): + animate.play("NoKey") func interact(player): - $AnimationPlayer.play("Press") + print("Panel pressed") + if GlobalSettings.HasGeneratorKey: + animate.play("InsertKey") + animate.play("Press") emit_signal("Generator_Started") diff --git a/Blender Files/Objects/GeneratorPanel.blend b/Blender Files/Objects/GeneratorPanel.blend index 609b3d2..274a0c3 100644 Binary files a/Blender Files/Objects/GeneratorPanel.blend and b/Blender Files/Objects/GeneratorPanel.blend differ diff --git a/Blender Files/Objects/GeneratorPanel.blend1 b/Blender Files/Objects/GeneratorPanel.blend1 index 106665e..609b3d2 100644 Binary files a/Blender Files/Objects/GeneratorPanel.blend1 and b/Blender Files/Objects/GeneratorPanel.blend1 differ