/** Initializes values within the rip, note, and HeldNoteUp classes. **/ private void init() { SongData songdata = Scenes.getSongData(); rip = songdata.rip; offset = songdata.offset; bpm = songdata.bpm; moveSpeed = songdata.moveSpeed; source.clip = rip; spb = secondsToSamples(60 / bpm); destroyDelay = spb * 16; //lul moveSpeed /= rip.frequency; Note.initAll(this, destroyDelay); HeldNoteUp.initAll(this, destroyDelay); if (songdata.beatmap == null) { generateRandomValues(); } else { foreach (string note in songdata.beatmap) { notes.Enqueue(new NoteData(note)); } } }
public static HeldNoteUp Create(Note parent, NoteData nd) { HeldNoteUp note = (Instantiate(prefab, nd.lane, Quaternion.identity) as GameObject).GetComponent <HeldNoteUp>(); note.moveSpeed = nd.moveSpeed; note.spawnTime = nd.timePosition; note.parent = parent; return(note); }
/** * Generates a new Note object with the intended parameters. * @param v The initial position of the note. * @param ms The note's move speed. * @param st The note's spawn time. **/ public static Note Create(NoteData nd) { Note note = (Instantiate(prefab, nd.lane, Quaternion.identity) as GameObject).GetComponent <Note>(); note.moveSpeed = nd.moveSpeed; note.spawnTime = nd.timePosition; note.isHeldNote = nd.isHeld; note.heldFor = nd.heldFor; if (nd.isHeld) { nd.timePosition += nd.heldFor; note.hnu = HeldNoteUp.Create(note, nd); note.GetComponent <SpriteRenderer>().sprite = Resources.Load("Sprites/sprite_1", typeof(Sprite)) as Sprite; } note.tInput = note.GetComponent("TapInput") as TapInput; note.tInput.corrKey = KEYS[(int)note.transform.position.x / 2 + 3]; return(note); }