Initial commit
This commit is contained in:
42
scenes/characters/debug_character.gd
Normal file
42
scenes/characters/debug_character.gd
Normal file
@@ -0,0 +1,42 @@
|
||||
extends CanvasLayer
|
||||
|
||||
"""
|
||||
This can be added to any scene and be use to show some properties for debug purposes
|
||||
"""
|
||||
|
||||
@export var path_to_node: NodePath
|
||||
@export var properties = [] # (Array, String)
|
||||
@export var enabled: bool = true: get = _get_enabled, set = _set_enabled
|
||||
|
||||
var node = null
|
||||
|
||||
@onready var stats = $Control/stats
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
node = get_node(path_to_node)
|
||||
pass # Replace with function body.
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta):
|
||||
var output = ""
|
||||
for property in properties:
|
||||
if not property in node:
|
||||
printerr("Property %s not found in %s" % [property, node])
|
||||
properties.erase(property)
|
||||
continue
|
||||
output += property + ": " + str(node[property]) + "\n"
|
||||
stats.text = output
|
||||
pass
|
||||
|
||||
func _set_enabled(value):
|
||||
enabled = value
|
||||
if value == true:
|
||||
$Control.show()
|
||||
set_process(true)
|
||||
else:
|
||||
$Control.hide()
|
||||
set_process(false)
|
||||
|
||||
func _get_enabled():
|
||||
return enabled
|
||||
Reference in New Issue
Block a user