mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-20 20:33:46 +00:00
Add FSM components for player and enemy state management, including initialization and module resolution
This commit is contained in:
parent
18683c0680
commit
b6cc5a00e8
57 changed files with 526 additions and 506 deletions
|
|
@ -1,9 +1,9 @@
|
|||
[gd_scene load_steps=38 format=3 uid="uid://bh3vxmqflijgj"]
|
||||
[gd_scene format=3 uid="uid://bh3vxmqflijgj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dwregubt4iila" path="res://Scripts/Components/FSM/Enemy/3D/EnemyProxy3D.cs" id="1_a3crc"]
|
||||
[ext_resource type="Resource" uid="uid://ccym6mcq4fbul" path="res://Resources/Enemies/Fairy_Guard_3D.tres" id="2_jgarc"]
|
||||
[ext_resource type="Script" uid="uid://c651imhj6rjsh" path="res://Scripts/Components/FSM/Enemy/3D/EnemyStateMachine3D.cs" id="2_xne4s"]
|
||||
[ext_resource type="Script" uid="uid://cy34e3htvbvnl" path="res://Scripts/Components/FSM/Enemy/3D/Init.cs" id="4_jgarc"]
|
||||
[ext_resource type="Script" uid="uid://dkmwqvhenu1xq" path="res://Scripts/Components/FSM/Enemy/3D/InitState.cs" id="4_2ut2v"]
|
||||
[ext_resource type="Script" uid="uid://jpdgfn701crh" path="res://Scripts/Components/FSM/Enemy/3D/Idle.cs" id="5_rg1hb"]
|
||||
[ext_resource type="Script" uid="uid://dvtdw2hcp4rm2" path="res://Scripts/Components/FSM/Enemy/3D/Alert.cs" id="6_jgarc"]
|
||||
[ext_resource type="Script" uid="uid://crahxykgis2bp" path="res://Scripts/Components/FSM/Enemy/3D/Shooting.cs" id="7_rg1hb"]
|
||||
|
|
@ -88,36 +88,30 @@ animations = [{
|
|||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="Enemy" type="CharacterBody3D" node_paths=PackedStringArray("EnemyFSM")]
|
||||
[node name="Enemy" type="CharacterBody3D" unique_id=1428692983 node_paths=PackedStringArray("EnemyFSM")]
|
||||
collision_layer = 64
|
||||
collision_mask = 1553
|
||||
script = ExtResource("1_a3crc")
|
||||
EnemyFSM = NodePath("StateMachine")
|
||||
EnemyResource = ExtResource("2_jgarc")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape3D" parent="."]
|
||||
[node name="CollisionShape2D" type="CollisionShape3D" parent="." unique_id=397512658]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.047, 0)
|
||||
shape = SubResource("CapsuleShape3D_jgarc")
|
||||
|
||||
[node name="StateMachine" type="Node" parent="."]
|
||||
[node name="StateMachine" type="Node" parent="." unique_id=146081447]
|
||||
script = ExtResource("2_xne4s")
|
||||
|
||||
[node name="Init" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "DetectionProvider", "HealthProvider", "_moduleNodes")]
|
||||
script = ExtResource("4_jgarc")
|
||||
Storage = NodePath("../../Storage")
|
||||
DetectionProvider = NodePath("../../PlayerDetectionProvider")
|
||||
HealthProvider = NodePath("../../DamageReceiver/HealthProvider")
|
||||
[node name="Init" type="Node" parent="StateMachine" unique_id=321304267 node_paths=PackedStringArray("_moduleNodes")]
|
||||
script = ExtResource("4_2ut2v")
|
||||
_moduleNodes = [NodePath("../../AnimationModule")]
|
||||
|
||||
[node name="Idle" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "GravityProvider", "_moduleNodes")]
|
||||
[node name="Idle" type="Node" parent="StateMachine" unique_id=1798192567 node_paths=PackedStringArray("_moduleNodes")]
|
||||
script = ExtResource("5_rg1hb")
|
||||
Storage = NodePath("../../Storage")
|
||||
PlayerDetection = NodePath("../../PlayerDetectionProvider")
|
||||
GravityProvider = NodePath("../../GravityProvider")
|
||||
DebugEnabled = true
|
||||
_moduleNodes = [NodePath("../../DamageModule"), NodePath("../../AnimationModule"), NodePath("../../SoundModule")]
|
||||
|
||||
[node name="Alert" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "NavigationModule", "GravityProvider", "_moduleNodes")]
|
||||
[node name="Alert" type="Node" parent="StateMachine" unique_id=2023331935 node_paths=PackedStringArray("Storage", "PlayerDetection", "NavigationModule", "GravityProvider", "_moduleNodes")]
|
||||
script = ExtResource("6_jgarc")
|
||||
Storage = NodePath("../../Storage")
|
||||
PlayerDetection = NodePath("../../PlayerDetectionProvider")
|
||||
|
|
@ -126,32 +120,28 @@ GravityProvider = NodePath("../../GravityProvider")
|
|||
DebugEnabled = true
|
||||
_moduleNodes = [NodePath("../../DamageModule"), NodePath("../../AnimationModule"), NodePath("../../SoundModule")]
|
||||
|
||||
[node name="Shooting" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "EquippedWeapon", "NavigationModule", "GravityProvider", "_moduleNodes")]
|
||||
[node name="Shooting" type="Node" parent="StateMachine" unique_id=767265433 node_paths=PackedStringArray("EquippedWeapon", "_moduleNodes")]
|
||||
script = ExtResource("7_rg1hb")
|
||||
Storage = NodePath("../../Storage")
|
||||
PlayerDetection = NodePath("../../PlayerDetectionProvider")
|
||||
EquippedWeapon = NodePath("../../Weapon")
|
||||
NavigationModule = NodePath("../../NavigationProvider")
|
||||
GravityProvider = NodePath("../../GravityProvider")
|
||||
_moduleNodes = [NodePath("../../DamageModule"), NodePath("../../AnimationModule"), NodePath("../../SoundModule")]
|
||||
|
||||
[node name="Dead" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "_moduleNodes")]
|
||||
[node name="Dead" type="Node" parent="StateMachine" unique_id=1312501461 node_paths=PackedStringArray("Storage", "_moduleNodes")]
|
||||
script = ExtResource("8_5j04l")
|
||||
Storage = NodePath("../../Storage")
|
||||
_moduleNodes = [NodePath("../../LootModule")]
|
||||
|
||||
[node name="Controlled" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "_moduleNodes")]
|
||||
[node name="Controlled" type="Node" parent="StateMachine" unique_id=481921517 node_paths=PackedStringArray("Storage", "_moduleNodes")]
|
||||
script = ExtResource("9_dm2sd")
|
||||
Storage = NodePath("../../Storage")
|
||||
_moduleNodes = [NodePath("../../DamageModule")]
|
||||
|
||||
[node name="AnimationModule" type="Node" parent="." node_paths=PackedStringArray("AnimationProvider", "Storage", "HealthProvider")]
|
||||
[node name="AnimationModule" type="Node" parent="." unique_id=920204467 node_paths=PackedStringArray("AnimationProvider", "Storage", "HealthProvider")]
|
||||
script = ExtResource("10_d6h7c")
|
||||
AnimationProvider = NodePath("../AnimationProvider")
|
||||
Storage = NodePath("../Storage")
|
||||
HealthProvider = NodePath("../DamageReceiver/HealthProvider")
|
||||
|
||||
[node name="AnimationProvider" type="Node3D" parent="." node_paths=PackedStringArray("AnimatedSprite")]
|
||||
[node name="AnimationProvider" type="Node3D" parent="." unique_id=2053395074 node_paths=PackedStringArray("AnimatedSprite")]
|
||||
script = ExtResource("10_5gcuf")
|
||||
AnimatedSprite = NodePath("../AnimatedSprite3D")
|
||||
WalkRightAnimationName = &"right"
|
||||
|
|
@ -160,7 +150,7 @@ WalkDownAnimationName = &"down"
|
|||
WalkUpAnimationName = &"up"
|
||||
BlinkMaterial = ExtResource("10_05pdu")
|
||||
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="." unique_id=1186020475]
|
||||
transform = Transform3D(0.707107, -0.5, 0.5, 0, 0.707107, 0.707107, -0.707107, -0.5, 0.5, 0, 0, 0)
|
||||
material_override = SubResource("ShaderMaterial_d6h7c")
|
||||
pixel_size = 0.05
|
||||
|
|
@ -172,38 +162,38 @@ frame = 2
|
|||
frame_progress = 0.92087
|
||||
script = ExtResource("11_jgarc")
|
||||
|
||||
[node name="Storage" type="Node" parent="." node_paths=PackedStringArray("Root")]
|
||||
[node name="Storage" type="Node" parent="." unique_id=8651828 node_paths=PackedStringArray("Root")]
|
||||
script = ExtResource("11_xne4s")
|
||||
Root = NodePath("..")
|
||||
|
||||
[node name="PlayerDetectionProvider" type="Area3D" parent="."]
|
||||
[node name="PlayerDetectionProvider" type="Area3D" parent="." unique_id=77201234]
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("13_rg1hb")
|
||||
ObstaclesCollisionMask = 17
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetectionProvider"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetectionProvider" unique_id=1149305496]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.557434, 0)
|
||||
shape = SubResource("CylinderShape3D_5j04l")
|
||||
|
||||
[node name="NavigationProvider" type="Node" parent="." node_paths=PackedStringArray("NavigationAgent", "StorageModule")]
|
||||
[node name="NavigationProvider" type="Node" parent="." unique_id=1851675964 node_paths=PackedStringArray("NavigationAgent", "StorageModule")]
|
||||
script = ExtResource("14_dm2sd")
|
||||
NavigationAgent = NodePath("../NavigationAgent3D")
|
||||
StorageModule = NodePath("../Storage")
|
||||
|
||||
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
|
||||
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="." unique_id=1202654381]
|
||||
path_postprocessing = 1
|
||||
debug_enabled = true
|
||||
|
||||
[node name="Weapon" parent="." instance=ExtResource("15_27vgy")]
|
||||
[node name="Weapon" parent="." unique_id=771249458 instance=ExtResource("15_27vgy")]
|
||||
|
||||
[node name="DamageModule" type="Node" parent="." node_paths=PackedStringArray("DamageReceiver", "StorageModule", "AnimationProvider")]
|
||||
[node name="DamageModule" type="Node" parent="." unique_id=430721165 node_paths=PackedStringArray("DamageReceiver", "StorageModule", "AnimationProvider")]
|
||||
script = ExtResource("16_27vgy")
|
||||
DamageReceiver = NodePath("../DamageReceiver")
|
||||
StorageModule = NodePath("../Storage")
|
||||
AnimationProvider = NodePath("../AnimationProvider")
|
||||
|
||||
[node name="DamageReceiver" type="Area3D" parent="." node_paths=PackedStringArray("HealthProvider")]
|
||||
[node name="DamageReceiver" type="Area3D" parent="." unique_id=1792872756 node_paths=PackedStringArray("HealthProvider")]
|
||||
collision_layer = 64
|
||||
collision_mask = 8
|
||||
script = ExtResource("17_tabhk")
|
||||
|
|
@ -211,20 +201,20 @@ HealthProvider = NodePath("HealthProvider")
|
|||
BulletGroup = 2
|
||||
DeleteParentOnDeath = false
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="DamageReceiver"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="DamageReceiver" unique_id=1457345703]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00463867, 0)
|
||||
shape = SubResource("CylinderShape3D_uv2lf")
|
||||
|
||||
[node name="HealthProvider" type="Node" parent="DamageReceiver"]
|
||||
[node name="HealthProvider" type="Node" parent="DamageReceiver" unique_id=610376220]
|
||||
script = ExtResource("18_4fnoq")
|
||||
ResourceName = "Health"
|
||||
|
||||
[node name="GravityProvider" type="Node" parent="."]
|
||||
[node name="GravityProvider" type="Node" parent="." unique_id=2086594224]
|
||||
script = ExtResource("25_qg061")
|
||||
Gravity = -20.0
|
||||
MaxFallSpeed = 50.0
|
||||
|
||||
[node name="SoundModule" type="Node" parent="." node_paths=PackedStringArray("DamageReceiver", "StorageModule", "HitPlayer", "DeathPlayer", "AlertPlayer")]
|
||||
[node name="SoundModule" type="Node" parent="." unique_id=540759764 node_paths=PackedStringArray("DamageReceiver", "StorageModule", "HitPlayer", "DeathPlayer", "AlertPlayer")]
|
||||
script = ExtResource("26_ojvcb")
|
||||
DamageReceiver = NodePath("../DamageReceiver")
|
||||
StorageModule = NodePath("../Storage")
|
||||
|
|
@ -232,19 +222,19 @@ HitPlayer = NodePath("HitPlayer")
|
|||
DeathPlayer = NodePath("DeathPlayer")
|
||||
AlertPlayer = NodePath("AlertPlayer")
|
||||
|
||||
[node name="HitPlayer" type="AudioStreamPlayer3D" parent="SoundModule"]
|
||||
[node name="HitPlayer" type="AudioStreamPlayer3D" parent="SoundModule" unique_id=1334761769]
|
||||
unit_size = 30.0
|
||||
bus = &"Effects"
|
||||
|
||||
[node name="AlertPlayer" type="AudioStreamPlayer3D" parent="SoundModule"]
|
||||
[node name="AlertPlayer" type="AudioStreamPlayer3D" parent="SoundModule" unique_id=1111891836]
|
||||
unit_size = 30.0
|
||||
bus = &"Effects"
|
||||
|
||||
[node name="DeathPlayer" type="AudioStreamPlayer3D" parent="SoundModule"]
|
||||
[node name="DeathPlayer" type="AudioStreamPlayer3D" parent="SoundModule" unique_id=1385917323]
|
||||
unit_size = 30.0
|
||||
bus = &"Effects"
|
||||
|
||||
[node name="Hitbox" type="AnimatedSprite3D" parent="."]
|
||||
[node name="Hitbox" type="AnimatedSprite3D" parent="." unique_id=123796697]
|
||||
transform = Transform3D(0.707107, -0.5, 0.5, 0, 0.707107, 0.707107, -0.707107, -0.5, 0.5, 0, 0, 0)
|
||||
material_overlay = SubResource("StandardMaterial3D_2ut2v")
|
||||
ignore_occlusion_culling = true
|
||||
|
|
@ -254,11 +244,11 @@ texture_filter = 0
|
|||
render_priority = -1
|
||||
sprite_frames = SubResource("SpriteFrames_t121s")
|
||||
|
||||
[node name="LootModule" type="Node" parent="." node_paths=PackedStringArray("StorageModule")]
|
||||
[node name="LootModule" type="Node" parent="." unique_id=729648693 node_paths=PackedStringArray("StorageModule")]
|
||||
script = ExtResource("28_2ut2v")
|
||||
StorageModule = NodePath("../Storage")
|
||||
|
||||
[node name="Shadow2" type="Decal" parent="."]
|
||||
[node name="Shadow2" type="Decal" parent="." unique_id=2007780472]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.13562012, -0.118652344, 0.13336182)
|
||||
size = Vector3(0.5, 0.7373047, 0.5)
|
||||
texture_albedo = ExtResource("28_t121s")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue