75 lines
1.4 KiB
GDScript
75 lines
1.4 KiB
GDScript
extends RefCounted
|
|
|
|
|
|
static func print_tick(npc: SimNPC, previous_state: StringName) -> void:
|
|
print(
|
|
npc.npc_name,
|
|
" | ",
|
|
npc.profession,
|
|
" | task: ",
|
|
npc.current_task,
|
|
" | state: ",
|
|
npc.task_state,
|
|
" | progress: ",
|
|
npc.task_progress,
|
|
"/",
|
|
npc.task_duration,
|
|
" | complete: ",
|
|
npc.task_complete,
|
|
" | hunger: ",
|
|
round(npc.hunger),
|
|
" | energy: ",
|
|
round(npc.energy),
|
|
" | starving: ",
|
|
npc.is_starving,
|
|
" | starvation_ticks: ",
|
|
npc.starvation_ticks,
|
|
" | dead: ",
|
|
npc.is_dead
|
|
)
|
|
if previous_state != npc.task_state:
|
|
print(
|
|
"[SimulationManager] State changed: ",
|
|
npc.npc_name,
|
|
" ",
|
|
previous_state,
|
|
" -> ",
|
|
npc.task_state
|
|
)
|
|
|
|
|
|
static func print_unavailable_resource(npc: SimNPC) -> void:
|
|
print(
|
|
"[SimulationManager] ",
|
|
npc.npc_name,
|
|
" arrived but target ",
|
|
npc.target_id,
|
|
" is unavailable, replanning"
|
|
)
|
|
|
|
|
|
static func print_unavailable_animal(npc: SimNPC) -> void:
|
|
print(
|
|
"[SimulationManager] ",
|
|
npc.npc_name,
|
|
" arrived but animal ",
|
|
npc.target_id,
|
|
" no longer needs feeding, replanning"
|
|
)
|
|
|
|
|
|
static func print_started_work(npc: SimNPC) -> void:
|
|
print(
|
|
"[SimulationManager] ", npc.npc_name, " arrived and started working on: ", npc.current_task
|
|
)
|
|
|
|
|
|
static func print_navigation_failure(npc: SimNPC, failed_task: StringName) -> void:
|
|
print(
|
|
"[SimulationManager] ",
|
|
npc.npc_name,
|
|
" could not navigate for ",
|
|
failed_task,
|
|
" and is trying a wander target"
|
|
)
|