sokoban
Diffstat (limited to 'console.gd')
| -rw-r--r-- | console.gd | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/console.gd b/console.gd new file mode 100644 index 0000000..fcf17c7 --- /dev/null +++ b/console.gd @@ -0,0 +1,32 @@ +extends CanvasLayer + +onready var label = $Label +onready var tween = $Tween + + +func _ready(): + MainInstances.console = self + label.percent_visible = 0 + + +func Log(new_text: String, time := .5, length := 2.5): + if tween.is_active(): + return false + label.percent_visible = 0 + label.text = new_text + tween_(0, 1, time) + yield(tween, "tween_all_completed") + yield(get_tree().create_timer(length), "timeout") + tween_(1, 0, time) + return true + + +func _exit_tree(): + MainInstances.console = null + + +func tween_(from, to, time): + tween.interpolate_property( + $Label, "percent_visible", from, to, time, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT + ) + tween.start() |