Static variables

staticread onlyDEFAULT_GENERATEDBY:String

@:value("2.0.0")staticfinalread onlySONG_CHART_DATA_VERSION:Version = "2.0.0"

@:value("2.0.x")staticfinalread onlySONG_CHART_DATA_VERSION_RULE:VersionRule = "2.0.x"

@:value("2.2.4")staticfinalread onlySONG_METADATA_VERSION:Version = "2.2.4"

The current version string for the stage data format. Handle breaking changes by incrementing this value and adding migration to the migrateStageData() function.

@:value("2.2.x")staticfinalread onlySONG_METADATA_VERSION_RULE:VersionRule = "2.2.x"

@:value("2.0.0")staticfinalread onlySONG_MUSIC_DATA_VERSION:Version = "2.0.0"

@:value("2.0.x")staticfinalread onlySONG_MUSIC_DATA_VERSION_RULE:VersionRule = "2.0.x"

staticread onlyinstance:SongRegistry

Constructor

new()

Variables

@:value(new Map<String,Song>())scriptedSongVariations:Map<String, Song> = new Map<String,Song>()

Methods

fetchEntry(id:String, ?params:SongEntryParams):Null<Song>

We override fetchEntry to handle song variations!

fetchEntryChartVersion(id:String, ?variation:String):Null<Version>

fetchEntryMetadataVersion(id:String, ?variation:String):Null<Version>

listAllDifficulties(characterId:String):Array<String>

A list of all difficulties for a specific character.

listBaseGameEntryIds():Array<String>

listModdedEntryIds():Array<String>

parseEntryChartData(id:String, ?variation:String):Null<SongChartData>

@:value({ fileName : "raw" })parseEntryChartDataRaw(contents:String, fileName:String = "raw", ?variation:String):Null<SongChartData>

@:value({ fileName : "raw" })parseEntryChartDataRawWithMigration(contents:String, fileName:String = "raw", version:Version, ?variation:String):Null<SongChartData>

parseEntryChartDataWithMigration(id:String, ?variation:String, version:Version):Null<SongChartData>

parseEntryData(id:String):Null<SongMetadata>

Read, parse, and validate the JSON data and produce the corresponding data object.

@:value({ fileName : "raw" })parseEntryDataRaw(contents:String, fileName:String = "raw"):Null<SongMetadata>

Parse, and validate the JSON data and produce the corresponding data object.

parseEntryMetadata(id:String, ?variation:String):Null<SongMetadata>

@:value({ fileName : "raw" })parseEntryMetadataRaw(contents:String, fileName:String = "raw", ?variation:String):Null<SongMetadata>

@:value({ fileName : "raw" })parseEntryMetadataRawWithMigration(contents:String, fileName:String = "raw", version:Version, ?variation:String):Null<SongMetadata>

parseEntryMetadataWithMigration(id:String, variation:String, version:Version):Null<SongMetadata>

parseMusicData(id:String, ?variation:String):Null<SongMusicData>

@:value({ fileName : "raw" })parseMusicDataRaw(contents:String, fileName:String = "raw"):Null<SongMusicData>

@:value({ fileName : "raw" })parseMusicDataRawWithMigration(contents:String, fileName:String = "raw", version:Version):Null<SongMusicData>

parseMusicDataWithMigration(id:String, ?variation:String, version:Version):Null<SongMusicData>