Initial project sync

This commit is contained in:
wxm
2026-07-06 22:55:14 -07:00
commit 8cca00d0da
1066 changed files with 58585 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
class_name ChartTrack
extends Resource
@export var track_id: StringName = &""
@export var track_type: StringName = &""
@export var events: Array = []
@export var time_phase_mask: StringName = &"both"
func sorted_events() -> Array:
var result: Array = []
for event in events:
if event is Resource:
_apply_track_time_phase_mask(event)
result.append(event)
result.sort_custom(func(a: Resource, b: Resource) -> bool:
return float(a.call("beat_position")) < float(b.call("beat_position"))
)
return result
func _apply_track_time_phase_mask(event: Resource) -> void:
if time_phase_mask.is_empty() or time_phase_mask == &"both":
return
var event_mask := StringName(str(event.get("time_phase_mask")))
if event_mask.is_empty() or event_mask == &"both":
event.set("time_phase_mask", time_phase_mask)