public void TakeDamage(float damage)
{
if (damage > PlayerData.data.health || PlayerData.data.health <= 0)
{
// TODO pelaaja häviää pelin
return;
}
if (PlayerData.data.health - damage > PlayerData.data.maxHealth)
{
PlayerData.data.health = PlayerData.data.maxHealth;
return;
}
PlayerData.data.health -= damage;
Health_slider.value = PlayerData.data.health;
}
IEnumerator Shoot() { RaycastHit2D hitReg = Physics2D.Raycast(firepoint.position, firepoint.up); if (hitReg) { Player_Health health = hitReg.transform.GetComponent <Player_Health>(); if (health != null) { health.TakeDamage(damage); } line.SetPosition(0, firepoint.position); line.SetPosition(1, hitReg.point); } else { line.SetPosition(0, firepoint.position); line.SetPosition(1, firepoint.position + firepoint.up * 100); } line.enabled = true; yield return(new WaitForSeconds(0.02f)); line.enabled = false; }