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

@ -9,20 +9,12 @@ func _ready() -> void:
if !tile_map:
Log.err("FreeCameraComponent: tile_map is not set")
## Set the limits for the camera based on the tilemap
#camera.set_limits(0, tile_map.)
# Stop the camera scrolling out of bounds of the map
var tile_size : Vector2i = tile_map.get_tileset().tile_size
var tilemap_size : Vector2i = tile_map.get_used_rect().end - tile_map.get_used_rect().position
var map_size_x : int = tile_size.x * tilemap_size.x
var map_size_y : int = tile_size.y * tilemap_size.y
Log.pr("Size Y", map_size_y, get_viewport().size.y)
Log.pr("Size X", map_size_x, get_viewport().size.x)
#Log.pr(map_size - get_viewport().size.x)
camera.set_limit(SIDE_LEFT, 0)
camera.set_limit(SIDE_TOP, 0)
camera.set_limit(SIDE_RIGHT, map_size_x)