public void startEvent(QTEEvent eventScriptable) { #if ENABLE_INPUT_SYSTEM if (Keyboard.current == null) { Debug.Log("No keyboard connected. Gamepad input in QTE events is not supported now"); return; } #endif eventData = eventScriptable; keys = new List <QTEKey>(eventData.keys); if (eventData.onStart != null) { eventData.onStart.Invoke(); } isAllButtonsPressed = false; isEnded = false; isFail = false; isPaused = false; rememberTimeScale = Time.timeScale; switch (eventScriptable.timeType) { case QTETimeType.Slow: Time.timeScale = slowMotionTimeScale; break; case QTETimeType.Paused: Time.timeScale = 0; break; } currentTime = eventData.time; smoothTimeUpdate = currentTime; setupGUI(); StartCoroutine(countDown()); }
protected void doFinally() { if (keys.Count == 0) { isAllButtonsPressed = true; } isEnded = true; isEventStarted = false; Time.timeScale = rememberTimeScale; var ui = getUI(); if (ui.eventUI != null) { ui.eventUI.SetActive(false); } if (eventData.onEnd != null) { eventData.onEnd.Invoke(); } if (eventData.onFail != null && isFail) { eventData.onFail.Invoke(); } if (eventData.onSuccess != null && isAllButtonsPressed) { eventData.onSuccess.Invoke(); } eventData = null; }