Added entity invulnerability
This commit is contained in:
parent
29d86194ca
commit
b0f666b5ed
|
@ -1,50 +1,7 @@
|
||||||
using UnityEngine;
|
namespace AsteroidGame.Entities.Enemies.Scripts
|
||||||
using AsteroidGame.Interfaces;
|
|
||||||
|
|
||||||
namespace AsteroidGame.Entities.Enemies
|
|
||||||
{
|
{
|
||||||
public class EnemyBase : MonoBehaviour, IDamageable
|
public class EnemyBase : EntityBase
|
||||||
{
|
|
||||||
// Start is called before the first frame update
|
|
||||||
void Start()
|
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ModifyHealth(int healthChange)
|
|
||||||
{
|
|
||||||
throw new System.NotImplementedException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetHealth(int newHealth)
|
|
||||||
{
|
|
||||||
throw new System.NotImplementedException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetMaxHealth(int newHealth)
|
|
||||||
{
|
|
||||||
throw new System.NotImplementedException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int GetHealth()
|
|
||||||
{
|
|
||||||
throw new System.NotImplementedException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int GetMaxHealth()
|
|
||||||
{
|
|
||||||
throw new System.NotImplementedException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public float GetHealthFactor()
|
|
||||||
{
|
|
||||||
throw new System.NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
"references": [
|
"references": [
|
||||||
"GUID:bc7863ca0989b494d84426bfd28432fa",
|
"GUID:bc7863ca0989b494d84426bfd28432fa",
|
||||||
"GUID:857695c8a9ee988459c9b50e4e75e660",
|
"GUID:857695c8a9ee988459c9b50e4e75e660",
|
||||||
"GUID:17a5862fcd6383b4b97bad4dcb1e2e5d"
|
"GUID:17a5862fcd6383b4b97bad4dcb1e2e5d",
|
||||||
|
"GUID:f26d68a0bdefa1043b120b820f55e190"
|
||||||
],
|
],
|
||||||
"includePlatforms": [],
|
"includePlatforms": [],
|
||||||
"excludePlatforms": [],
|
"excludePlatforms": [],
|
||||||
|
|
|
@ -5,14 +5,20 @@ namespace AsteroidGame.Entities
|
||||||
{
|
{
|
||||||
public class EntityBase : MonoBehaviour, IDamageable
|
public class EntityBase : MonoBehaviour, IDamageable
|
||||||
{
|
{
|
||||||
|
|
||||||
[SerializeField] protected int health;
|
[SerializeField] protected int health;
|
||||||
[SerializeField] protected int maxHealth;
|
[SerializeField] protected int maxHealth;
|
||||||
|
[SerializeField] protected bool isInvulnerable;
|
||||||
|
|
||||||
|
public bool IsInvulnerable { get; }
|
||||||
|
|
||||||
public void ModifyHealth(int healthChange)
|
public void ModifyHealth(int healthChange)
|
||||||
|
{
|
||||||
|
if (!isInvulnerable)
|
||||||
{
|
{
|
||||||
health += healthChange;
|
health += healthChange;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void SetHealth(int newHealth)
|
public void SetHealth(int newHealth)
|
||||||
{
|
{
|
||||||
|
@ -24,6 +30,11 @@ namespace AsteroidGame.Entities
|
||||||
maxHealth = newHealth;
|
maxHealth = newHealth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetInvulnerable(bool newState)
|
||||||
|
{
|
||||||
|
isInvulnerable = newState;
|
||||||
|
}
|
||||||
|
|
||||||
public int GetHealth()
|
public int GetHealth()
|
||||||
{
|
{
|
||||||
return health;
|
return health;
|
||||||
|
|
|
@ -4,14 +4,28 @@ namespace AsteroidGame.Interfaces
|
||||||
{
|
{
|
||||||
public void ModifyHealth(int healthChange);
|
public void ModifyHealth(int healthChange);
|
||||||
|
|
||||||
|
#region PublicProperties
|
||||||
|
|
||||||
|
public bool IsInvulnerable { get; }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Setters
|
||||||
public void SetHealth(int newHealth);
|
public void SetHealth(int newHealth);
|
||||||
|
|
||||||
public void SetMaxHealth(int newHealth);
|
public void SetMaxHealth(int newHealth);
|
||||||
|
|
||||||
|
public void SetInvulnerable (bool newState);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Getters
|
||||||
public int GetHealth();
|
public int GetHealth();
|
||||||
|
|
||||||
public int GetMaxHealth();
|
public int GetMaxHealth();
|
||||||
|
|
||||||
public float GetHealthFactor();
|
public float GetHealthFactor();
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue