예제 #1
0
    public void Switch(Direction direction)
    {
        if (direction != _direction)
        {
            _direction = direction;

            if (_currentSide != null)
            {
                _currentSide.gameObject.SetActive(false);
                _currentSide = null;
            }

            if (_direction == Direction.Forward)
            {
                _currentSide = backSide;
            }
            else if (_direction == Direction.Backward)
            {
                _currentSide = frontSide;
            }
            else if (_direction == Direction.Left)
            {
                _currentSide = leftSide;
            }
            else if (_direction == Direction.Right)
            {
                _currentSide = rightSide;
            }

            if (_currentSide == null)
            {
                _currentSide = defaultSide;
            }

            if (_currentSide != null)
            {
                _currentSide.gameObject.SetActive(true);
            }
        }
    }
예제 #2
0
    public void DisableAllSides()
    {
        if (frontSide != null)
        {
            frontSide.gameObject.SetActive(false);
        }
        if (backSide != null)
        {
            backSide.gameObject.SetActive(false);
        }
        if (leftSide != null)
        {
            leftSide.gameObject.SetActive(false);
        }
        if (rightSide != null)
        {
            rightSide.gameObject.SetActive(false);
        }

        _currentSide = null;
        _direction   = Direction.Idle;
    }