Example #1
0
    public bool RightWithConfirmation()
    {
        Debug.DrawRay(GetComponent <BoxCollider>().bounds.min, Vector3.forward * Mathf.Abs(_rightLane.position.z - _leftLane.position.z) * 1.5f, Color.yellow, 1f);
        if (_canChangeRoad && _isInvulnerable == false && Physics.Raycast(GetComponent <BoxCollider>().bounds.min, Vector3.forward, Mathf.Abs(_rightLane.position.z - _leftLane.position.z) * 1.5f, 1 << _obstaclesCollisionLayerMask) == false)
        {
            switch (_currentLane)
            {
            case CURRENTLANE.LEFT:
                //transform.position = _middleLane.position;
                _targetPosition = _middleLane.position;
                _currentLane    = CURRENTLANE.MIDDLE;
                _animator.SetTrigger("Right");
                return(true);

            //break;
            case CURRENTLANE.MIDDLE:
                //transform.position = _rightLane.position;
                _targetPosition = _rightLane.position;
                _currentLane    = CURRENTLANE.RIGHT;
                _animator.SetTrigger("Right");
                return(true);

            //break;
            case CURRENTLANE.RIGHT:
                break;
            }
        }
        return(false);
    }
Example #2
0
    public void OnClickRight() //
    {
        _inputTimer.ResetTimer();
        // _inputTimer.ResetTimer(); //Don't know if clicking on a button is going to trigger the Unity's input so, better be sure
        if (_controlledByAI == false)
        {
            if (_canChangeRoad && _isInvulnerable == false && Physics.Raycast(transform.position, Vector3.back, Mathf.Abs(_rightLane.position.z - _leftLane.position.z) * 1.5f, 1 << _obstaclesCollisionLayerMask) == false)
            {
                switch (_currentLane)
                {
                case CURRENTLANE.LEFT:
                    //transform.position = _middleLane.position;
                    _targetPosition = _middleLane.position;
                    _currentLane    = CURRENTLANE.MIDDLE;
                    _animator.SetTrigger("Right");
                    break;

                case CURRENTLANE.MIDDLE:
                    //transform.position = _rightLane.position;
                    _targetPosition = _rightLane.position;
                    _currentLane    = CURRENTLANE.RIGHT;
                    _animator.SetTrigger("Right");
                    break;

                case CURRENTLANE.RIGHT:
                    break;
                }
            }
        }
    }