26 lines
761 B
GDScript
26 lines
761 B
GDScript
class_name EventLayout extends Node
|
|
|
|
#var _beats: Array[float]
|
|
#var _callables: Array[Callable]
|
|
#var _index: int = 0
|
|
|
|
### Schedule the callable to be called on the specified beat.
|
|
#func schedule(beat: float, callable: Callable) -> void:
|
|
#var i := schedule_beats.find_custom(func(s_beat: float): return s_beat > beat )
|
|
#if i == -1:
|
|
#i = schedule_beats.size()
|
|
#schedule_beats.insert(i, beat)
|
|
#schedule_callables.insert(i, callable)
|
|
#
|
|
### Clears all scheduled callables.
|
|
#func reset_schedule() -> void:
|
|
#schedule_beats.clear()
|
|
#schedule_callables.clear()
|
|
#schedule_index = 0
|
|
|
|
#
|
|
#while(schedule_index < schedule_beats.size()
|
|
#and get_beat() >= schedule_beats.get(schedule_index)):
|
|
#schedule_callables.get(schedule_index).call()
|
|
#schedule_index += 1
|