Пример #1
0
        /// <summary>
        /// Collision trigger enter
        /// </summary>
        /// <param name="other">Other</param>
        void OnTriggerEnter(Collider other)
        {
            HealthComponent health = other.gameObject.GetComponent <HealthComponent>();

            if (health != null)
            {
                float damageTaken = health.TakeDamage(DamageAmount.Value);

                // DamageEvent.Invoke();
                if (other.gameObject.CompareTag("Player") && damageTaken > 0f)
                {
                    EventPlayerDamage damageEvent = new EventPlayerDamage()
                    {
                        health    = health.HP.Value,
                        maxHealth = health.StartingHP
                    };

                    EventManager.TriggerEvent("Player.Hurt", damageEvent);
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Raises the player hurt event.
        /// </summary>
        /// <param name="eventParam">Event parameter.</param>
        void OnPlayerHurt(IEventParam eventParam)
        {
            EventPlayerDamage playerDamage = (EventPlayerDamage)eventParam;

            healthBar.fillAmount = playerDamage.health / playerDamage.maxHealth;
        }