Ejemplo n.º 1
0
        private void BordersReached()
        {
            var cachedPreviousDirection = _enemiesMoveDirection;

            switch (_enemiesMoveDirection)
            {
            case EnemiesMoveDirection.Left:
            case EnemiesMoveDirection.Right:
                _enemiesMoveDirection  = EnemiesMoveDirection.Down;
                _currentVerticalOffset = _verticalMoveOffsetRange.min;

                Data.IncrementWaveVerticalPosition();
                break;

            case EnemiesMoveDirection.Down:
                switch (_previousEnemiesMoveDirection)
                {
                case EnemiesMoveDirection.Left:
                    _enemiesMoveDirection = EnemiesMoveDirection.Right;
                    break;

                case EnemiesMoveDirection.Right:
                    _enemiesMoveDirection = EnemiesMoveDirection.Left;
                    break;
                }
                break;
            }
            _previousEnemiesMoveDirection = cachedPreviousDirection;
        }
Ejemplo n.º 2
0
        private void ClearOffset()
        {
            _horizontalMoveOffsetRange = _enemiesSettings.WaveHorizontalOffset;
            _verticalMoveOffsetRange   = new Range(-_gameSettings.VerticalPositionStep, 0f);

            _currentHorizontalOffset = 0f;
            _currentVerticalOffset   = 0f;

            _previousEnemiesMoveDirection = EnemiesMoveDirection.Right;
            _enemiesMoveDirection         = EnemiesMoveDirection.Right;
        }