extends CanvasLayer @onready var sprite: SpineSprite = $LaptopMenu/Control/SpineSprite func _ready() -> void: GDRx.from_signal(Messagebus.DEBUG_XYZ).subscribe(display_xy).dispose_with(self) GDRx.from_signal(Messagebus.CHANGE_SCENE).subscribe(display_map).dispose_with(self) GDRx.from_signal(Messagebus.COCO_STATE).subscribe(display_state).dispose_with(self) func display_state(name: String) -> void: var coco_state = "Idle" var state_label = $Control/MarginContainer/BoxContainer/VBoxContainer/StateLabel state_label.text = "State:"+name #$FlipPage.set_shader_parameter("scale", Vector3(100,100,100)) func display_xy(origin: Vector3) -> void: var xyzlabel = $Control/MarginContainer/BoxContainer/VBoxContainer/XYZLabel xyzlabel.text = " x:" + str(snapped(origin.x, 0.01)) + \ " y:" + str(snapped(origin.y, 0.01)) + \ " z:" + str(snapped(origin.z, 0.01)) func display_map(name: String) -> void: var maplabel = $Control/MarginContainer/BoxContainer/VBoxContainer/MapLabel maplabel.text = "Map: "+name transition_start() func transition_start() -> void: var t = $Transition GDRx.start_periodic_timer(0.05).\ take(20).\ subscribe( func(i): t.material.set("shader_parameter/right", clampf((-(1/4)*pow(i, 2))+i+(5/4), -1, 5)), print, func(): t.material.set("shader_parameter/right", -1) ).\ dispose_with(self) await get_tree().create_timer(0.8).timeout GDRx.start_periodic_timer(0.05).\ take(20).\ subscribe( func(i): t.material.set("shader_parameter/left", clampf((-(1/4)*pow(i, 2))+i+(5/4), -1, 5)), print, func(): t.material.set("shader_parameter/left", -1) ).\ dispose_with(self)