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