27 lines
751 B
GDScript
27 lines
751 B
GDScript
extends Node
|
|
|
|
class_name TaskList
|
|
|
|
var unassigned_tasks = []
|
|
|
|
var assigned_task_dict: Dictionary = {}
|
|
|
|
func record_task(task):
|
|
if task.assignment:
|
|
var assignment: Actor = task["assignment"]
|
|
var assignment_task_list: Array = []
|
|
assign_task(task, assignment)
|
|
#assignment_task_list.append(task)
|
|
if not assigned_task_dict.has(assignment):
|
|
assigned_task_dict[assignment] = []
|
|
assigned_task_dict[assignment].append(task)
|
|
|
|
func finish_task(source, task):
|
|
var source_task_array = assigned_task_dict[source]
|
|
var finished_task_index = source_task_array.find(task)
|
|
var finished_task = source_task_array.pop_at(finished_task_index)
|
|
print(finished_task)
|
|
|
|
func assign_task(task, assignment: Actor):
|
|
assignment.lookup_actor_to_task.append(task)
|