Added cultist state and state machine
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user