Added cultist state and state machine

This commit is contained in:
2026-02-05 20:50:01 +03:00
parent 1e617715f3
commit a5a3fa2acf
9 changed files with 47 additions and 0 deletions
@@ -3,6 +3,9 @@
[ext_resource type="Script" uid="uid://but5aeh7y1s0f" path="res://game/characters/enemies/abstract_cultist.gd" id="1_2wrno"]
[ext_resource type="PackedScene" uid="uid://dtxiercm8dsfm" path="res://game/characters/enemies/cultist_sprite.tscn" id="2_tjvyk"]
[ext_resource type="PackedScene" uid="uid://dike8xgbqdut2" path="res://game/killing_area.tscn" id="3_tjvyk"]
[ext_resource type="PackedScene" uid="uid://bg7k6ovbk1xgm" path="res://game/characters/enemies/state_machine/cultist_state_machine.tscn" id="4_yu28k"]
[ext_resource type="PackedScene" uid="uid://bq1v55jv4c6qe" path="res://game/characters/enemies/state_machine/cultist_state.tscn" id="5_tu2pi"]
[ext_resource type="Script" uid="uid://cdw73paln1rg8" path="res://game/characters/enemies/state_machine/idle_state.gd" id="6_e5j7k"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_mocsw"]
radius = 4.0
@@ -77,6 +80,14 @@ collision_mask = 0
position = Vector2(0, 2)
shape = SubResource("CapsuleShape2D_tjvyk")
[node name="CultistStateMachine" parent="." unique_id=633169960 node_paths=PackedStringArray("cultist", "initial_state") instance=ExtResource("4_yu28k")]
cultist = NodePath("..")
initial_state = NodePath("IdleState")
[node name="IdleState" parent="CultistStateMachine" unique_id=739226464 node_paths=PackedStringArray("cultist") instance=ExtResource("5_tu2pi")]
script = ExtResource("6_e5j7k")
cultist = NodePath("../..")
[connection signal="animation_finished" from="CultistSprite" to="." method="_on_animation_finished"]
[connection signal="animation_looped" from="CultistSprite" to="." method="_on_animation_looped"]
[connection signal="body_entered" from="PlayerTouchArea" to="." method="_on_player_touch_area_entered"]
@@ -0,0 +1,5 @@
class_name CultistState
extends AbstractState
@export var cultist: AbstractCultist
@@ -0,0 +1 @@
uid://c2et1lt2xgk45
@@ -0,0 +1,7 @@
[gd_scene format=3 uid="uid://bq1v55jv4c6qe"]
[ext_resource type="PackedScene" uid="uid://c7adrbfobmvl8" path="res://game/state_machine/abstract_state.tscn" id="1_qehp8"]
[ext_resource type="Script" uid="uid://c2et1lt2xgk45" path="res://game/characters/enemies/state_machine/cultist_state.gd" id="2_3mu4s"]
[node name="CultistState" unique_id=739226464 instance=ExtResource("1_qehp8")]
script = ExtResource("2_3mu4s")
@@ -0,0 +1,13 @@
class_name CultistStateMachine
extends StateMachine
@export var cultist: AbstractCultist
func _ready() -> void:
if not cultist.is_node_ready():
await cultist.ready
super._ready()
@@ -0,0 +1 @@
uid://dhaq52d5t5eq0
@@ -0,0 +1,7 @@
[gd_scene format=3 uid="uid://bg7k6ovbk1xgm"]
[ext_resource type="PackedScene" uid="uid://3ll3i1fgktg2" path="res://game/state_machine/state_machine.tscn" id="1_xnlud"]
[ext_resource type="Script" uid="uid://dhaq52d5t5eq0" path="res://game/characters/enemies/state_machine/cultist_state_machine.gd" id="2_avauf"]
[node name="CultistStateMachine" unique_id=633169960 instance=ExtResource("1_xnlud")]
script = ExtResource("2_avauf")
@@ -0,0 +1 @@
extends CultistState
@@ -0,0 +1 @@
uid://cdw73paln1rg8