예제 #1
0
 private void OnTriggerExit(Collider other)
 {
     if (other.gameObject.CompareTag("Ball"))
     {
         ballToHit = null;
     }
 }
예제 #2
0
 public void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.CompareTag("Ball"))
     {
         ballToHit = other.gameObject.GetComponent <BallControllerScript>();
     }
 }
예제 #3
0
    public void KnockbackPlayer(BallControllerScript ballHit)
    {
        Vector3 forceKnockback = ballHit.Direction;

        if (forceKnockback.normalized.y < 0 && onGround)
        {
            forceKnockback.y = -forceKnockback.y;
        }

        rb.AddForce(forceKnockback.normalized * 5 * ballHit.Speed, (ForceMode.Impulse));
    }
예제 #4
0
 void Awake()
 {
     instance = this;
 }
예제 #5
0
 public void StunAttack(BallControllerScript ball)
 {
     isStun = true;
 }
예제 #6
0
 public void RaiseOnPlayerDamageEvent(BallControllerScript ballHit)
 {
     onPlayerTakeDamage?.Invoke(ballHit);
 }
예제 #7
0
 public void TakeDamage(BallControllerScript ballHit)
 {
     currentDamageReceived += Mathf.Clamp(ballHit.Speed, 0, maxDamageReceived);
 }