public void skipWholeCinematic() { while (eventToUpdate != null) { eventToUpdate.startEvent(); if (eventToUpdate.update(true, true)) { eventToUpdate.update(true, true); } eventToUpdate.endEvent(); // TODO shitty code ahead if (events.Count > 0) { events.RemoveAt(0); if (events.Count > 0) { eventToUpdate = events[0]; } else { eventToUpdate = null; } } else { eventToUpdate = null; } } }
// returns false when the cinematic ends public bool update() { // see if the next event needs to be started if (eventToUpdate != null) { if (!eventToUpdate.update(GamerManager.getMainControls().A_firstPressed())) { eventToUpdate.endEvent(); eventToUpdate = null; } } else if (events.Count > 0) { events[0].activationTime -= SB.dt; if (events[0].activationTime < 0.0f) { eventToUpdate = events[0]; eventToUpdate.startEvent(); events.RemoveAt(0); } } return events.Count > 0 || eventToUpdate != null; }