## Static class that stores references to note scenes.
@abstract class_name NoteScenes extends Object

static func get_tap(skin: StringName = "default") -> PackedScene:
	if _tap_scenes.has(skin):
		return _tap_scenes[skin]
	else:
		push_warning("Tap note skin [", skin, "] does not exist.")
		return _tap_scenes["default"]

static func get_hold(skin: StringName = "default") -> PackedScene:
	if _hold_scenes.has(skin):
		return _hold_scenes[skin]
	else:
		push_warning("Hold note skin [", skin, "] does not exist.")
		return _hold_scenes["default"]

# ======== IMPLEMENTATION ======== #

static var _tap_scenes: Dictionary[StringName, PackedScene] = {
	"default": load("uid://jbgxbhfpj806")
}

static var _hold_scenes: Dictionary[StringName, PackedScene] = {
	"default": load("uid://dq5ocf0272tet")
}
