Example #1
0
    public void Damage(DamageInfo damageInfo)
    {
        float prevHp = currentHp;

        currentHp -= damageInfo.damage;
        PlayerHpChangeEvent ev = new PlayerHpChangeEvent(prevHp, currentHp, maxHp);

        eventManager.Publish(Events.PLAYER_HPCHANGE, ev);

        if (currentHp <= 0)
        {
            eventManager.Publish(Events.GAME_OVER, null);
        }
    }
Example #2
0
    public void HpChangeHandler(IGameEvent e)
    {
        PlayerHpChangeEvent ev = (PlayerHpChangeEvent)e;

        slider.value = Mathf.Clamp((ev.currentHp / ev.maxHp), 0, 1);
    }