void ClearNotes() { foreach (var note in notesSpawned) { Metronome.Ticked -= note.Ticked; Destroy(note.gameObject); } notesSpawned.Clear(); firstNote = null; }
public void ProcessNote(NoteMarker note) { notesSpawned.Remove(note); // TODO: Add hit type feedback, perhaps mark + coroutine to avoid processing it before destruction Metronome.Ticked -= note.Ticked; Destroy(note.gameObject); var lastFirst = firstNote; firstNote = notesSpawned.Count > 0 ? notesSpawned[0] : null; if (firstNote != null && firstNote != lastFirst) { noteHelper.SetContainerSprite(firstNote.note); } }
void UpdateHelper() { bool showHelper = notesSpawned.Count > 0; noteHelper.gameObject.SetActive(showHelper); if (!showHelper) { return; } var lastFirst = firstNote; firstNote = notesSpawned[0]; if (firstNote != lastFirst) { noteHelper.SetContainerSprite(firstNote.note); } }