Enemy Gravity

This commit is contained in:
Marco 2025-06-29 18:09:13 +02:00
commit d1517f864a
9 changed files with 65 additions and 9 deletions

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=32 format=3 uid="uid://bh3vxmqflijgj"]
[gd_scene load_steps=33 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"]
@ -24,10 +24,11 @@
[ext_resource type="Script" uid="uid://dmawekjfas6k8" path="res://Scripts/Components/Actors/DamageReceiver3D.cs" id="17_tabhk"]
[ext_resource type="Script" uid="uid://cqwvssstkrdmw" path="res://Scripts/Components/Actors/ActorResourceProvider.cs" id="18_4fnoq"]
[ext_resource type="Script" uid="uid://dvln1783wvvuw" path="res://Scripts/Components/Actors/ShadowProvider.cs" id="19_4fnoq"]
[ext_resource type="Script" uid="uid://qrdor3gk6x37" path="res://Scripts/Components/FSM/Enemy/3D/GravityProvider.cs" id="25_qg061"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_jgarc"]
radius = 0.264547
height = 0.935884
radius = 0.343
height = 0.686
[sub_resource type="AtlasTexture" id="AtlasTexture_ad5n8"]
atlas = ExtResource("11_2xi0r")
@ -68,6 +69,7 @@ EnemyFSM = NodePath("StateMachine")
EnemyResource = ExtResource("2_jgarc")
[node name="CollisionShape2D" type="CollisionShape3D" parent="."]
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="."]
@ -79,27 +81,30 @@ Storage = NodePath("../../Storage")
DetectionProvider = NodePath("../../PlayerDetectionProvider")
_moduleNodes = [NodePath("../../AnimationModule")]
[node name="Idle" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "_moduleNodes")]
[node name="Idle" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "GravityProvider", "_moduleNodes")]
script = ExtResource("5_rg1hb")
Storage = NodePath("../../Storage")
PlayerDetection = NodePath("../../PlayerDetectionProvider")
GravityProvider = NodePath("../../GravityProvider")
DebugEnabled = true
_moduleNodes = [NodePath("../../DamageModule"), NodePath("../../AnimationModule")]
[node name="Alert" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "NavigationModule", "_moduleNodes")]
[node name="Alert" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "NavigationModule", "GravityProvider", "_moduleNodes")]
script = ExtResource("6_jgarc")
Storage = NodePath("../../Storage")
PlayerDetection = NodePath("../../PlayerDetectionProvider")
NavigationModule = NodePath("../../NavigationProvider")
GravityProvider = NodePath("../../GravityProvider")
DebugEnabled = true
_moduleNodes = [NodePath("../../DamageModule"), NodePath("../../AnimationModule")]
[node name="Shooting" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "EquippedWeapon", "NavigationModule", "_moduleNodes")]
[node name="Shooting" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "EquippedWeapon", "NavigationModule", "GravityProvider", "_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")]
[node name="Dead" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage")]
@ -191,6 +196,11 @@ mesh = SubResource("QuadMesh_05pdu")
script = ExtResource("19_4fnoq")
CollisionMask = 1
[node name="GravityProvider" type="Node" parent="."]
script = ExtResource("25_qg061")
Gravity = -20.0
MaxFallSpeed = 50.0
[connection signal="body_entered" from="PlayerDetectionProvider" to="PlayerDetectionProvider" method="_on_body_entered"]
[connection signal="body_exited" from="PlayerDetectionProvider" to="PlayerDetectionProvider" method="_on_body_exited"]
[connection signal="velocity_computed" from="NavigationAgent3D" to="NavigationProvider" method="_on_navigation_agent_3d_velocity_computed"]