private void Update() { switch (QTEPresenterStates) { case QTEStates.OFF: return; ///帰る case QTEStates.ON: //時間を止める Time.timeScale = 0f; m_timeLimit = 5f; SetQTEObject(true); //QTEの命令をユーザに伝える m_QTEText.text = $"{m_theme}と入力しろ!"; m_QTEInputField.text = string.Empty; QTEPresenterStates = QTEStates.Input; break; case QTEStates.Input: //入力にはタイムリミットを設ける m_timeLimit -= Time.unscaledDeltaTime; m_QTETimeLimitText.text = $"{m_timeLimit}"; //タイムリミットが来たらResultに移行 if (m_timeLimit < 0) { QTEPresenterStates = QTEStates.Result; } break; case QTEStates.Result: if (m_QTEInputField.text.Equals(m_theme)) { //正解していたら体力を5回復 SphereDamage.AddSphereDamage(-5); } else { //不正解ならダメージ SphereDamage.AddSphereDamage(2); } SetQTEObject(false); //時間を戻す Time.timeScale = 1f; QTEPresenterStates = QTEStates.OFF; break; } }
private void Update() { switch (QTEPresenterStates) { case QTEStates.OFF: return; case QTEStates.ON: Time.timeScale = 0f; m_timeLimit = 5f; SetQTEObject(true); m_QTEText.text = $"{m_theme}と入力しろ!"; m_QTEInputField.text = string.Empty; QTEPresenterStates = QTEStates.Input; break; case QTEStates.Input: m_timeLimit -= Time.unscaledDeltaTime; m_QTETimeLimitText.text = $"{m_timeLimit}"; if (m_timeLimit < 0) { QTEPresenterStates = QTEStates.Result; } break; case QTEStates.Result: if (m_QTEInputField.text.Equals(m_theme)) { SphereDamage.AddSphereDamage(-5); } else { SphereDamage.AddSphereDamage(2); } SetQTEObject(false); Time.timeScale = 1f; QTEPresenterStates = QTEStates.OFF; break; } }