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); }
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; } } } }