public void Prepare(SerializableDesc desc, SerializablePattern pattern) { var skinPrefab = pattern.line switch { 4 => skins.gearSet[gear.value].gear4K, 5 => skins.gearSet[gear.value].gear5K, 6 => skins.gearSet[gear.value].gear6K, 8 => skins.gearSet[gear.value].gear8K, _ => null }; line = pattern.line; skin = Instantiate(skinPrefab, playZone); noteQueues = factory.PrepareNotes(pattern, skin); for (var i = 0; i < pattern.line; i++) { noteStates.Add(new NoteState()); } }
public List <Queue <NoteSystem> > PrepareNotes(SerializablePattern pattern, SkinSystem skin) { var noteQueues = new List <Queue <NoteSystem> >(); var sortReady = new List <List <NoteSystem> >(); line = pattern.line; skinSystem = skin; noteContainer = skin.noteContainer; player.EndTime = 3f; for (var i = 0; i < pattern.line; i++) { sortReady.Add(new List <NoteSystem>()); } foreach (var item in pattern.notes) { var noteSystem = CreateNote(item.line, item.beat); player.EndTime = Math.Max(player.EndTime, noteSystem.time); sortReady[item.line].Add(noteSystem); } foreach (var item in pattern.longNotes) { var longNoteSystem = CreateLongNote(item.line, item.beat, item.length); player.EndTime = Math.Max(player.EndTime, longNoteSystem.endTime); sortReady[item.line].Add(longNoteSystem); } foreach (var item in sortReady) { item.Sort(); noteQueues.Add(new Queue <NoteSystem>(item)); } player.EndTime += 5f; return(noteQueues); }
void Awake() { _instance = this; }