This commit is contained in:
CortexCore
2023-11-15 23:54:54 +08:00
parent ee3ecec6cb
commit 3c837a4a33
356 changed files with 73756 additions and 26493 deletions

View File

@@ -15,6 +15,8 @@ namespace BITFALL.Entities
{
[SerializeField] private int knockedHealth;
[SerializeField] private int initialKnockedHealth;
[SerializeField] private Optional<float> invincibilityTimes;
public int KnockedHealth=>knockedHealth;
public int InitialKnockedHealth
@@ -26,6 +28,7 @@ namespace BITFALL.Entities
public event Action OnRevive;
public bool IsKnockdown { get;private set; }
private readonly Optional<int> knockedHeal=new();
private readonly IntervalUpdate invincibilityInterval = new();
[Inject]
private IHealth _health;
@@ -64,8 +67,17 @@ namespace BITFALL.Entities
private int OnDamageFactory(DamageMessage arg,int currentDamage)
{
if (invincibilityTimes.Allow && invincibilityInterval.AllowUpdateWithoutReset is false)
{
return 0;
}
if (IsKnockdown || _health.HealthPoint - currentDamage >=0 ) return currentDamage;
IsKnockdown = true;
if (invincibilityTimes.Allow)
{
invincibilityInterval.Interval = invincibilityTimes.Value;
invincibilityInterval.Reset();
}
OnKnockdown?.Invoke();
_health.HealthPoint = 0;
return 0;