Added job component and queue system

- Introduced a new JobComponent and JobQueue to manage jobs in the game.
- Created two new jobs: DigJob and InfectJob with their respective scripts.
- Updated CrystalGlowComponent, FreeCameraComponent, MushroomGlowComponent, WaterEffectComponent to improve logging messages.
- Adjusted camera movement limits in FreeCameraGameCameraComponent for better control.
- Added FiniteStateMachine class for managing states of entities.
- Implemented GlowingIdle state as an example of using the state machine.
- Included a utility function to fetch file paths by extension from a directory.
This commit is contained in:
Dan 2024-06-06 15:49:05 +01:00
parent fc896925d6
commit bb5724429a
23 changed files with 311 additions and 29 deletions

View file

@ -1,7 +1,9 @@
[gd_scene load_steps=5 format=3 uid="uid://ddwnkcnncxmjv"]
[gd_scene load_steps=7 format=3 uid="uid://ddwnkcnncxmjv"]
[ext_resource type="Script" path="res://entities/scripts/glowling.gd" id="1_aq1kk"]
[ext_resource type="Texture2D" uid="uid://b0v24ggq57237" path="res://resources/particles/smallcircle.png" id="2_s3xbi"]
[ext_resource type="Script" path="res://entities/scripts/finite_state_machine.gd" id="3_vqtdm"]
[ext_resource type="Script" path="res://entities/states/glowling/glowling_idle.gd" id="4_2l3e6"]
[sub_resource type="Animation" id="Animation_01nc3"]
resource_name = "GlowingPulse"
@ -63,3 +65,10 @@ energy = 0.7
shadow_filter = 2
shadow_filter_smooth = 7.5
texture = ExtResource("2_s3xbi")
[node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("initial_state")]
script = ExtResource("3_vqtdm")
initial_state = NodePath("Idle")
[node name="Idle" type="Node" parent="StateMachine"]
script = ExtResource("4_2l3e6")