FSM Selector with sound

This commit is contained in:
Marco 2025-03-01 18:02:11 +01:00
commit ee09c50dbd
20 changed files with 330 additions and 28 deletions

View file

@ -1,13 +1,16 @@
[gd_scene load_steps=28 format=3 uid="uid://c4pr2707hbeph"]
[gd_scene load_steps=35 format=3 uid="uid://c4pr2707hbeph"]
[ext_resource type="Script" uid="uid://bw2hakslndaxm" path="res://Scripts/Components/FSM/PlayerStateMachine.cs" id="1_mpmil"]
[ext_resource type="Script" uid="uid://chwqogny2v8t1" path="res://Scripts/Components/FSM/Player/Init.cs" id="2_i6wc8"]
[ext_resource type="Script" uid="uid://bl0o35xt8wxtg" path="res://Scripts/Components/FSM/Player/Active.cs" id="3_3tuio"]
[ext_resource type="Script" uid="uid://bo6xcjnw3yn6s" path="res://Scripts/Components/FSM/Player/Dead.cs" id="4_0pqs8"]
[ext_resource type="Material" uid="uid://dnvwgyt2tbqmr" path="res://Resources/Materials/Player_Blink_Teleport_Material.tres" id="4_5qlss"]
[ext_resource type="Script" uid="uid://dn2rrgw3e027b" path="res://Scripts/Components/FSM/Player/Cutscene.cs" id="4_22ff8"]
[ext_resource type="SpriteFrames" uid="uid://bc7mghjx75qip" path="res://Resources/Sprites/player.tres" id="4_s0ir4"]
[ext_resource type="Script" uid="uid://b4nixnxhj5qhw" path="res://Scripts/Components/Actors/PlayerWeaponProvider.cs" id="5_gp3hw"]
[ext_resource type="Script" uid="uid://b0khv2fcrgm6t" path="res://Scripts/Components/FSM/Player/Teleporting.cs" id="5_yifvs"]
[ext_resource type="PackedScene" uid="uid://crry0rgk7a8sm" path="res://Scenes/Weapons/BaseWeapon.tscn" id="6_8dcio"]
[ext_resource type="Script" uid="uid://bwtcgcvfw8urt" path="res://Scripts/Components/FSM/Player/Controlling.cs" id="6_82vrk"]
[ext_resource type="Script" uid="uid://bo5sgbv1t8ril" path="res://Scripts/Components/Actors/PlayerAnimationProvider.cs" id="7_pmkfo"]
[ext_resource type="Script" uid="uid://dq338w2lw5phl" path="res://Scripts/Components/Actors/KeyboardInputProvider.cs" id="8_i6wc8"]
[ext_resource type="PackedScene" uid="uid://biugfbp0yae2s" path="res://Scenes/Particles/DeathParticles.tscn" id="9_0pyos"]
@ -18,6 +21,9 @@
[ext_resource type="Texture2D" uid="uid://bf37ce6jskdel" path="res://Sprites/SmallHitbox.png" id="13_pmkfo"]
[ext_resource type="Script" uid="uid://dkmsw828qwikk" path="res://Scripts/Components/Actors/PlayerDamageReceiver.cs" id="14_igu66"]
[ext_resource type="Script" uid="uid://cqwvssstkrdmw" path="res://Scripts/Components/Actors/ActorResourceProvider.cs" id="15_5qlss"]
[ext_resource type="Script" uid="uid://dv205x8msohpv" path="res://Scripts/Components/Actors/ActivationProvider.cs" id="22_12cwd"]
[ext_resource type="PackedScene" uid="uid://chkpk7erlqajg" path="res://Scenes/Selector.tscn" id="23_5tmtw"]
[ext_resource type="AudioStream" uid="uid://myr6n2c1u503" path="res://SFX/581602__samsterbirdies__beep-error.mp3" id="24_5tmtw"]
[sub_resource type="CircleShape2D" id="CircleShape2D_b3hxm"]
@ -78,6 +84,9 @@ animations = [{
[sub_resource type="CircleShape2D" id="CircleShape2D_igu66"]
radius = 2.23607
[sub_resource type="CircleShape2D" id="CircleShape2D_7n10g"]
radius = 17.2627
[node name="FSMPlayer" type="CharacterBody2D"]
collision_layer = 2
collision_mask = 97
@ -88,7 +97,7 @@ InitialState = 1
[node name="Init" type="Node2D" parent="."]
script = ExtResource("2_i6wc8")
[node name="Active" type="Node2D" parent="." node_paths=PackedStringArray("_weaponProvider", "_animationProvider", "_crosshairProvider", "_hitboxSpriteProvider", "_inputProvider", "_damageReceiver")]
[node name="Active" type="Node2D" parent="." node_paths=PackedStringArray("_weaponProvider", "_animationProvider", "_crosshairProvider", "_hitboxSpriteProvider", "_inputProvider", "_damageReceiver", "_activationProvider")]
script = ExtResource("3_3tuio")
_weaponProvider = NodePath("../WeaponProvider")
_animationProvider = NodePath("../AnimationProvider")
@ -96,12 +105,28 @@ _crosshairProvider = NodePath("../CrosshairProvider")
_hitboxSpriteProvider = NodePath("../StrafeSpriteProvider")
_inputProvider = NodePath("../InputProvider")
_damageReceiver = NodePath("../DamageReceiver")
_activationProvider = NodePath("../InteractionProvider")
State = 1
[node name="Cutscene" type="Node2D" parent="." node_paths=PackedStringArray("_animationProvider")]
script = ExtResource("4_22ff8")
_animationProvider = NodePath("../AnimationProvider")
State = 2
[node name="Teleporting" type="Node2D" parent="." node_paths=PackedStringArray("_animationProvider")]
script = ExtResource("5_yifvs")
_animationProvider = NodePath("../AnimationProvider")
State = 3
[node name="Controlling" type="Node2D" parent="." node_paths=PackedStringArray("_animationProvider")]
script = ExtResource("6_82vrk")
_animationProvider = NodePath("../AnimationProvider")
State = 4
[node name="Dead" type="Node2D" parent="." node_paths=PackedStringArray("_animationProvider")]
script = ExtResource("4_0pqs8")
_animationProvider = NodePath("../AnimationProvider")
State = 4
State = 5
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_b3hxm")
@ -174,4 +199,21 @@ MaxResource = 32.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="DamageReceiver"]
shape = SubResource("CircleShape2D_igu66")
[node name="InteractionProvider" type="Area2D" parent="." node_paths=PackedStringArray("_inputProvider", "_errorSound")]
visible = false
collision_layer = 2
collision_mask = 4
script = ExtResource("22_12cwd")
SelectorScene = ExtResource("23_5tmtw")
_inputProvider = NodePath("../InputProvider")
_errorSound = NodePath("Error")
[node name="CollisionShape2D" type="CollisionShape2D" parent="InteractionProvider"]
shape = SubResource("CircleShape2D_7n10g")
[node name="Error" type="AudioStreamPlayer2D" parent="InteractionProvider"]
stream = ExtResource("24_5tmtw")
[connection signal="area_entered" from="DamageReceiver" to="DamageReceiver" method="_on_damage_hitbox_area_entered"]
[connection signal="InteractableAreaEntered" from="InteractionProvider" to="InteractionProvider" method="_on_interaction_controller_area_entered"]
[connection signal="InteractableAreaExited" from="InteractionProvider" to="InteractionProvider" method="_on_interaction_controller_area_exited"]