Exemple #1
0
    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;
        }
    }
Exemple #2
0
    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;
        }
    }