25 lines
535 B
GDScript
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
|