IEnumerator FollowPath(List <Waypoint> path) { var pathLength = path.Count; var iteration = 0; foreach (Waypoint block in path) { iteration += 1; if (iteration == pathLength) { transform.position = block.transform.position; GetComponent <AudioSource>().PlayOneShot(baseDamageSFX); yield return(new WaitForSeconds(1f)); friendlyBase.DamageBase(); enemyDamage.DestroyEnemy(); healthDisplay.UpdateHealth(); } else { transform.position = block.transform.position; yield return(new WaitForSeconds(1f)); } } }
private void ProcessHit(DamageDealer damageDealer) { health -= damageDealer.GetDamage(); healthText.UpdateHealth(); damageDealer.Hit(); if (health <= 0) { AudioSource.PlayClipAtPoint(playerDestructionSound, Camera.main.transform.position, playerExplosionVolume); sceneLoader.GetComponent <SceneLoader>().DelayedNextScene(); Destroy(gameObject); } }
private void ProcessHit(DamageDealer dmgDealer) { if (!isInvincible) { Health -= dmgDealer.Damage; dmgDealer.Hit(); if (Health <= 0) { Die(); } else { ImmuneDamage(); Blink(); AudioSource.PlayClipAtPoint(getDamageSFX, Camera.main.transform.position, getDamageSFXVolume); } healthDisplayer.UpdateHealth(health); } else { dmgDealer.Hit(); } }