private void HandleAttack()
 {
     if (Input.GetButtonDown(Player.AxisMap [AxisEnum.FIRE]))
     {
         if (_dodgeBall)
         {
             ThrowDodgeBallProperties throwDodgeBallProperties = new ThrowDodgeBallProperties();
             throwDodgeBallProperties.velocity = aimingDirection.normalized * 20;
             _dodgeBall.BroadcastMessage(GameMessages.THROW_DODGE_BALL, throwDodgeBallProperties);
             _dodgeBall = null;
         }
         else if (!_receiving)
         {
             StartCoroutine(HandleReceive());
         }
     }
 }
    private void OnDodgeBallCaptured(DodgeBall dodgeBall)
    {
        if (_receiving)
        {
            StopCoroutine(HandleReceive());
            _receiving = false;
        }

        _dodgeBall = dodgeBall;

        if (DodgeBallAttachPoint)
        {
            _dodgeBall.transform.parent = DodgeBallAttachPoint.transform;
        }
        else
        {
            _dodgeBall.transform.parent = transform;
        }

        _dodgeBall.transform.localPosition = Vector3.zero;
    }
 private void OnDodgeBallHit(DodgeBall dodgeBall)
 {
     Messenger <Player> .Invoke(GameMessages.RESET_PLAYER, _player);
 }
    private void GrabBall(DodgeBall dodgeBall)
    {
        AddReward(5f);

        dodgeBall.rb.AddForce((dodgeBall.transform.position - transform.position).normalized * 5000);
    }