extends Node func _init(): callback("_init") func _enter_tree(): callback("_enter_tree") func _exit_tree(): callback("_exit_tree") func _ready(): callback("_ready") get_tree().process_frame.connect(callback.bind("process_frame")) get_tree().physics_frame.connect(callback.bind("physics_frame")) func _process(_delta): callback("_process") queue_free() func _physics_process(_delta): callback("_physics_process") func _notification(what): match what: NOTIFICATION_PROCESS: callback("NOTIFICATION_PROCESS") NOTIFICATION_PHYSICS_PROCESS: callback("NOTIFICATION_PHYSICS_PROCESS") NOTIFICATION_PARENTED: callback("NOTIFICATION_PARENTED") NOTIFICATION_UNPARENTED: callback("NOTIFICATION_UNPARENTED") NOTIFICATION_PREDELETE: callback("NOTIFICATION_PREDELETE") func _input(_event): callback("_input") func _unhandled_input(_event): callback("_unhandled_input") func callback(s): print("[%d] [%s]: %s" % [Engine.get_frames_drawn(), name, s])