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:
parent
fc896925d6
commit
bb5724429a
23 changed files with 311 additions and 29 deletions
31
utilities/FileUtilitiesClass.gd
Normal file
31
utilities/FileUtilitiesClass.gd
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
extends Node
|
||||
class_name FileUtilitiesClass
|
||||
|
||||
func get_file_paths_by_extension(directoryPath: String, extension: String, recursive: bool = false) -> Array:
|
||||
|
||||
var dir : DirAccess = DirAccess.open(directoryPath)
|
||||
|
||||
if !dir:
|
||||
printerr("Warning: could not open directory: ", directoryPath)
|
||||
return []
|
||||
|
||||
if dir.list_dir_begin() != OK:
|
||||
printerr("Warning: could not list contents of: ", directoryPath)
|
||||
return []
|
||||
|
||||
var filePaths := []
|
||||
var fileName := dir.get_next()
|
||||
|
||||
while fileName != "":
|
||||
if dir.current_is_dir():
|
||||
if recursive:
|
||||
var dirPath : String = dir.get_current_dir() + "/" + fileName
|
||||
filePaths += get_file_paths_by_extension(dirPath, extension, recursive)
|
||||
else:
|
||||
if fileName.get_extension() == extension:
|
||||
var filePath : String = dir.get_current_dir() + "/" + fileName
|
||||
filePaths.append(filePath)
|
||||
|
||||
fileName = dir.get_next()
|
||||
|
||||
return filePaths
|
||||
Loading…
Add table
Add a link
Reference in a new issue