Files
kicking-high/proto3/godot/scenes/debug/ai_debug.gd
2020-04-13 12:45:25 +03:00

61 lines
1.9 KiB
GDScript3

extends Control
# Declare member variables here. Examples:
# var a = 2
# var b = "text"
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
for k in $VBoxContainer/list.get_children():
k.queue_free()
var dst = INF
var player_pos = global.player.global_transform.origin
for k in get_tree().get_nodes_in_group("npc"):
var hb = HBoxContainer.new()
var label1 = Label.new()
label1.text = k.name
var label2 = Label.new()
if k.has_meta("action"):
label2.text = k.get_meta("action")
else:
label2.text = "unknown action"
hb.add_child(label1)
hb.add_child(label2)
$VBoxContainer/list.add_child(hb)
var npc_pos = k.global_transform.origin
var ndst = player_pos.distance_squared_to(npc_pos)
if ndst < dst:
var bb = k.get_node("blackboard")
$VBoxContainer/closest/name.text = k.name
dst = ndst
if k.has_meta("action"):
$VBoxContainer/closest/action.text = "action: " + k.get_meta("action")
var enemy = bb.get("closest_enemy")
if enemy:
$VBoxContainer/closest/closest_enemy.text = "enemy: " + enemy.name
else:
$VBoxContainer/closest/closest_enemy.text = "no enemy"
if k.has_meta("target_group"):
$VBoxContainer/closest/target_group.text = "target: " + k.get_meta("target_group")
else:
$VBoxContainer/closest/target_group.text = ""
if k.has_meta("target_loc"):
$VBoxContainer/closest/target_loc.text = "target loc: " + str(k.get_meta("target_loc"))
else:
$VBoxContainer/closest/target_loc.text = ""
if k.has_meta("path"):
$VBoxContainer/closest/path.text = "path: " + str(k.get_meta("path"))
else:
$VBoxContainer/closest/path.text = ""
if k.has_meta("path_point"):
$VBoxContainer/closest/path_point.text = "path point: " + str(k.get_meta("path_point"))
else:
$VBoxContainer/closest/path_point.text = ""