public IEnumerator Fire() { finished = 1; eventSequence = GenerateNewSequence(buttonsPerSequence); while (finished != 2 && finished != 3) yield return new WaitForFixedUpdate(); }
QuicktimeSequence GenerateNewSequence(int size) { QuicktimeSequence theSequence = new QuicktimeSequence(); QuicktimeEvent[] theQueue = new QuicktimeEvent[size]; int buttonCount = 0; a = 0; float sequenceStart = Time.time; float sequenceEnd = Time.time; while (buttonCount < buttonsPerSequence) { float newTimeStart = Time.time + (buttonDelay * (buttonCount + 1)); float newTimeEnd = newTimeStart + buttonLife; sequenceEnd = newTimeEnd; int rand = UnityEngine.Random.Range(0, ContextActions.QuickActions.Count - 1); KeyCode newKey; newKey = ContextActions.QuickActions[rand].KeyCode; Texture2D newTexture = ResourceManager.TextureResources[newKey]; GameObject newQte = new GameObject(); GUIMove guiMove = newQte.AddComponent<GUIMove>(); guiMove.FireAway(newTimeStart, newTimeEnd, newTexture, buttonLife); theQueue[buttonCount] = new QuicktimeEvent(newTimeStart, newTimeEnd, newKey, newTexture, newQte); // //debug.log("Genearted: " + Time.time + " " + newTimeStart + " " + newTimeEnd + " " + buttonCount + " " + buttonsPerSequence + " gen"); buttonCount++; } theSequence.theEvents = theQueue; theSequence.timeStart = sequenceStart; theSequence.timeEnd = sequenceEnd; return theSequence; }
bool CheckQuicktime(int a, QuicktimeSequence sequence, KeyCode keyPressed) { return sequence.theEvents[a].whichKey == keyPressed; }