From 0687b6de992b2f0421b9f4bd655afe911bc8b414 Mon Sep 17 00:00:00 2001 From: Marco Date: Sat, 1 Mar 2025 18:41:11 +0100 Subject: [PATCH] Activation controller FSM --- Scenes/Actors/fsm_player.tscn | 5 ++--- Scenes/Maps/PlayerFSMTest.tscn | 20 +++++++++++++------ Scenes/Selector.tscn | 2 +- .../Components/Actors/ActivationProvider.cs | 10 ++++------ Scripts/Components/FSM/Player/Active.cs | 2 +- 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/Scenes/Actors/fsm_player.tscn b/Scenes/Actors/fsm_player.tscn index f8a1a854..9387fd42 100644 --- a/Scenes/Actors/fsm_player.tscn +++ b/Scenes/Actors/fsm_player.tscn @@ -200,7 +200,6 @@ MaxResource = 32.0 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") @@ -215,5 +214,5 @@ shape = SubResource("CircleShape2D_7n10g") 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"] +[connection signal="area_entered" from="InteractionProvider" to="InteractionProvider" method="_on_interaction_controller_area_entered"] +[connection signal="area_exited" from="InteractionProvider" to="InteractionProvider" method="_on_interaction_controller_area_exited"] diff --git a/Scenes/Maps/PlayerFSMTest.tscn b/Scenes/Maps/PlayerFSMTest.tscn index 0cd082f6..3e12b814 100644 --- a/Scenes/Maps/PlayerFSMTest.tscn +++ b/Scenes/Maps/PlayerFSMTest.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=22 format=4 uid="uid://dqyfnby0t7gu1"] +[gd_scene load_steps=24 format=4 uid="uid://dqyfnby0t7gu1"] [ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_c3v4x"] [ext_resource type="PackedScene" uid="uid://bghghp5ep4w2j" path="res://Scenes/player.tscn" id="2_w1v1g"] @@ -16,8 +16,10 @@ [ext_resource type="Script" uid="uid://bdshph801ac2i" path="res://Scenes/CameraTarget.gd" id="12_8to53"] [ext_resource type="Script" uid="uid://cnkipcolyj61w" path="res://Scripts/AlarmManager.cs" id="13_8fnge"] [ext_resource type="PackedScene" uid="uid://b0gpbkxdfbnjh" path="res://Scenes/Actors/ForceField_Horizontal.tscn" id="13_mljl7"] +[ext_resource type="PackedScene" uid="uid://d0yes7huiyisw" path="res://Scenes/Items/Blue_Keycard.tscn" id="14_0knpf"] [ext_resource type="PackedScene" uid="uid://b3tyacxxw88lx" path="res://Scenes/Utils/StreamPlayerWithName.tscn" id="14_q7rh4"] [ext_resource type="PackedScene" uid="uid://cd36ch65jijg0" path="res://Scenes/Activable/BulletEmitter.tscn" id="15_b3hxm"] +[ext_resource type="PackedScene" uid="uid://r25rq6ijgm6m" path="res://Scenes/Items/Green_Keycard.tscn" id="16_dj0ui"] [ext_resource type="Resource" uid="uid://bj331rcsq65es" path="res://Resources/Bullets/EmitterTestBullet.tres" id="16_u1i8n"] [ext_resource type="PackedScene" uid="uid://crph24e6e0v0q" path="res://Scenes/Interactable/Control_Pad.tscn" id="20_0knpf"] @@ -72,6 +74,16 @@ EmitOnStart = true [node name="HorizontalForceField" parent="Tilemaps/Actors" instance=ExtResource("13_mljl7")] position = Vector2(304, 303) +[node name="BlueKeycard" parent="Tilemaps/Actors" instance=ExtResource("14_0knpf")] +position = Vector2(124, 306) + +[node name="ControlPad" parent="Tilemaps/Actors" node_paths=PackedStringArray("Targets") instance=ExtResource("20_0knpf")] +position = Vector2(279, 306) +Targets = [NodePath("../HorizontalForceField")] + +[node name="GreenKeyCard" parent="Tilemaps/Actors" instance=ExtResource("16_dj0ui")] +position = Vector2(154, 339) + [node name="CameraController" type="Camera2D" parent="."] process_mode = 1 script = ExtResource("9_dj0ui") @@ -94,7 +106,7 @@ position = Vector2(124, 338) script = ExtResource("12_8to53") [node name="PlayerStartPosition" type="Marker2D" parent="."] -position = Vector2(155, 370) +position = Vector2(64, 343) [node name="AlarmManager" type="Node2D" parent="."] process_mode = 1 @@ -103,7 +115,3 @@ script = ExtResource("13_8fnge") [node name="AudioStreamPlayer2D" parent="." instance=ExtResource("14_q7rh4")] process_mode = 3 autoplay = true - -[node name="ControlPad" parent="." node_paths=PackedStringArray("Targets") instance=ExtResource("20_0knpf")] -position = Vector2(279, 306) -Targets = [NodePath("../Tilemaps/Actors/HorizontalForceField")] diff --git a/Scenes/Selector.tscn b/Scenes/Selector.tscn index 2b21242e..ad0aa354 100644 --- a/Scenes/Selector.tscn +++ b/Scenes/Selector.tscn @@ -34,4 +34,4 @@ script = ExtResource("1_pp2dj") z_index = -5 sprite_frames = SubResource("SpriteFrames_kehny") autoplay = "default" -frame_progress = 0.00057048 +frame_progress = 0.664675 diff --git a/Scripts/Components/Actors/ActivationProvider.cs b/Scripts/Components/Actors/ActivationProvider.cs index 6bae5e02..5b3eef05 100644 --- a/Scripts/Components/Actors/ActivationProvider.cs +++ b/Scripts/Components/Actors/ActivationProvider.cs @@ -1,4 +1,5 @@ -using Godot; +using Cirno.Scripts.Components.FSM; +using Godot; namespace Cirno.Scripts.Components.Actors; @@ -22,11 +23,11 @@ public partial class ActivationProvider : Area2D [Signal] public delegate void InteractableAreaExitedEventHandler(Interactable interactable); - public void Init() + public void Init(ActorStateMachine actor) { if (SelectorScene is not null && _selector is null) { - _selector = this.CreateSibling(SelectorScene, this.GlobalPosition); + _selector = actor.CreateSibling(SelectorScene, this.GlobalPosition); _selector.Visible = false; } } @@ -86,9 +87,6 @@ public partial class ActivationProvider : Area2D if (_selector == null) return; _selector.AddInteractable(interactable); - - //_selector.SelectedInteractable = interactable; - } } diff --git a/Scripts/Components/FSM/Player/Active.cs b/Scripts/Components/FSM/Player/Active.cs index 8d2b4a29..92cb875b 100644 --- a/Scripts/Components/FSM/Player/Active.cs +++ b/Scripts/Components/FSM/Player/Active.cs @@ -59,7 +59,7 @@ public partial class Active : PlayerFSMState _damageReceiver.Init(); - _activationProvider.Init(); + _activationProvider.Init(stateMachine); //_weaponProvider = stateMachine.GetNode("WeaponProvider"); //_animationProvider = stateMachine.GetNode("AnimationProvider");