private static void PostAskHeal(PlayerLife __instance, byte __state) { if (__instance.health != __state) { OnHealthUpdated?.Invoke(__instance.player, __instance.health); } }
private void HealthUpdated(float newHealthValue) { if (useLog) { Debug.Log($"{Name} {nameof(HealthUpdated)} {newHealthValue}"); } OnHealthUpdated?.Invoke(newHealthValue); }
private static void PostDoDamage(PlayerLife __instance, PersistDoDamage __state) { if (__instance.isBleeding != __state.IsBleeding) { OnBleedingUpdated?.Invoke(__instance.player, __instance.isBleeding); } if (__instance.health != __state.Health) { OnHealthUpdated?.Invoke(__instance.player, __instance.health); } }
private void OnTriggerEnter2D(Collider2D collision) { var collObj = collision.gameObject; if (collision.CompareTag("Bullet")) { float damage = collObj.GetComponent <Bullet>().bulletData.bulletDamage; TakeDamage(damage); OnHealthUpdated.Invoke(currHealth); } }
public void ReceiveDamage(float damage) { float newHealth = healthModel.CurrentHealth - damage; if (newHealth < 0.0f) { newHealth = 0.0f; } healthModel.CurrentHealth = newHealth; OnHealthUpdated?.Invoke(healthModel.CurrentHealth); // Debug.Log($"{nameof(HealthController)} {nameof(ReceiveDamage)} {damage}, health: {healthModel.CurrentHealth}"); if (healthModel.CurrentHealth == 0.0f) { OnHealthIsOver?.Invoke(); } }
public static void HealthUpdated(float health) { OnHealthUpdated?.Invoke(health); }