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);
                }
            }
Esempio n. 4
0
    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);
        }
    }
Esempio n. 5
0
        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();
            }
        }
Esempio n. 6
0
 public static void HealthUpdated(float health)
 {
     OnHealthUpdated?.Invoke(health);
 }