28 lines
677 B
GDScript
28 lines
677 B
GDScript
extends AnimationTree
|
|
|
|
export var TARGET_FRAMERATE = 5
|
|
onready var fsm: AnimationNodeStateMachinePlayback = get("parameters/playback")
|
|
|
|
func _ready():
|
|
var _err = GlobalCursorState.connect("set_camera_zone", self, "move")
|
|
|
|
|
|
signal motion_status(value)
|
|
|
|
func move(where: String):
|
|
if where == fsm.get_current_node():
|
|
return
|
|
fsm.travel(where)
|
|
emit_signal("motion_status", true)
|
|
GlobalCursorState.freeze()
|
|
yield(get_tree().create_timer(3), "timeout")
|
|
emit_signal("motion_status", false)
|
|
GlobalCursorState.unfreeze()
|
|
|
|
var time_buffer = 0.0
|
|
func _process(delta):
|
|
time_buffer += delta
|
|
if time_buffer >= (1.0 / TARGET_FRAMERATE):
|
|
advance(time_buffer)
|
|
time_buffer = 0.0
|