Vest/Services/TaskService.gd
2020-10-06 22:11:14 -04:00

31 lines
734 B
GDScript

extends Node
var tasks = {}
onready var ConsoleService = $"/root/ConsoleService"
signal task_start;
signal task_complete
func start(name: String, message: String):
var task = Task.new(name, message)
if not tasks.has(task.name): tasks[task.name] = []
tasks[task.name].append(task)
emit_signal('task_start', task)
ConsoleService.log("[TaskService] Started: "+name)
func complete(name: String):
if not tasks[name]: return
var task = tasks[name].pop_front()
if tasks[name].size() == 0:
tasks.erase(name)
emit_signal('task_complete', task)
ConsoleService.log("[TaskService] Completed: "+name)
class Task:
var name = ''
var message = ''
func _init(_name: String, _message: String):
name = _name
message = _message