Vest/Services/TaskService.gd

25 lines
535 B
GDScript

extends Node
var tasks = {}
func start(name: String, message: String):
var task = Task.new(name, message)
if not tasks[task.name]: tasks[task.name] = []
tasks[task.name].append(task)
emit_signal('started:'+name, task)
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('completed:'+name, task)
class Task:
var name = ''
var message = ''
func _init(_name: String, _message: String):
name = _name
message = _message