Пример #1
0
    void Update()
    {
        if (_roundCountdown.IsRunning && _roundCountdown.ElapsedMilliseconds > 3750)
        {
            if (_roundCountdown.ElapsedMilliseconds < 3000)
            {
                return;
            }
            if (!_exerciseTime.IsRunning)
            {
                _exerciseTime.Start();
            }
            if (_roundCountdown.ElapsedMilliseconds > 3750)
            {
                _roundCountdown.Reset();
                GuiManager.RemoveCountdown();
            }
        }

        if (_exerciseTime.IsRunning && _exerciseTime.ElapsedMilliseconds > TimePerExercise)
        {
            _timeout = true;
            GameEventManager.EndGame();
        }
    }
Пример #2
0
    private void AddUserCombination(Gestures gesture)
    {
        if (!PossibleMoves.Contains(gesture))
        {
            return;
        }
        if (!_exerciseTime.IsRunning)
        {
            return;
        }

        var index = _userCombi.Count;

        if (_correctCombi[index] != gesture)
        {
            _wrongCombi = true;
            GameEventManager.EndGame();
            return;
        }

        var timeSpent = _exerciseTime.ElapsedMilliseconds;

        _exerciseTime.Reset();
        _userCombi.Add(gesture);
        UpdateScore(timeSpent);

        if (_userCombi.Count == _correctCombi.Count)
        {
            NewRound();
            return;
        }

        _exerciseTime.Start();
    }
Пример #3
0
    // Update is called once per frame
    void Update()
    {
        var up   = Input.GetKeyDown(KeyCode.UpArrow);
        var down = Input.GetKeyDown(KeyCode.DownArrow);

        if (Input.GetKeyDown(KeyCode.Space))
        {
            GameEventManager.StartGame();
        }

        if (roundCountdown.IsRunning && roundCountdown.ElapsedMilliseconds <= 3000)
        {
            return;
        }

        if (roundCountdown.IsRunning && roundCountdown.ElapsedMilliseconds > 3750)
        {
            if (roundCountdown.ElapsedMilliseconds < 3000)
            {
                return;
            }
            if (!exerciseTime.IsRunning)
            {
                exerciseTime.Start();
            }
            if (roundCountdown.ElapsedMilliseconds > 3750)
            {
                roundCountdown.Reset();
                GUIManager.RemoveCountdown();
            }
        }

        if (exerciseTime.IsRunning && exerciseTime.ElapsedMilliseconds > TimePerExercise)
        {
            timeout = true;
            GameEventManager.EndGame();
        }

        if (up && exerciseTime.IsRunning && exerciseTime.ElapsedMilliseconds <= TimePerExercise)
        {
            var time = exerciseTime.ElapsedMilliseconds;
            AddUserCombination(_possibleMoves[1]);
            exerciseTime.Reset();
            if (WrongCombination())
            {
                wrongCombi = true;
                GameEventManager.EndGame();
                return;
            }
            UpdateScore(time);
            if (_correctCombi.Count == _userCombi.Count)
            {
                NewRound();
                return;
            }
            exerciseTime.Start();
        }
        if (down && exerciseTime.IsRunning && exerciseTime.ElapsedMilliseconds <= TimePerExercise)
        {
            var time = exerciseTime.ElapsedMilliseconds;
            AddUserCombination(_possibleMoves[0]);
            exerciseTime.Reset();
            if (WrongCombination())
            {
                wrongCombi = true;
                GameEventManager.EndGame();
                return;
            }
            UpdateScore(time);
            if (_correctCombi.Count == _userCombi.Count)
            {
                NewRound();
                return;
            }
            exerciseTime.Start();
        }
    }