예제 #1
0
 private void ProcessHit(DamageDealer damageDealer)
 {
     if (damageDealer.GetAlliance() != alliance)
     {
         currentHealth -= damageDealer.GetDamage();
         damageDealer.Hit();
         if (currentHealth <= 0f)
         {
             PlayerInput player = GetComponent <PlayerInput>();
             if (player != null)
             {
                 Destroy(gameObject);
                 FindObjectOfType <GameSession>().PlayerDies();
                 FindObjectOfType <AudioPlayer>().PlaySoundEffect(deathSound);
                 //TODO: add delay
             }
             else
             {
                 FindObjectOfType <GameSession>().IncreaseScore(scoreValue);
                 //TODO: destruction animations
                 Asteroid asteroid = GetComponent <Asteroid>();
                 if (asteroid != null)
                 {
                     asteroid.Shatter();
                 }
                 Destroy(gameObject);
             }
         }
     }
 }