示例#1
0
    public HeroPreHealEvent OnHeroPreHeal(Hero hero, int healAmount)
    {
        HeroPreHealEvent heroPreHealEvent = new HeroPreHealEvent()
        {
            Hero       = hero,
            HealAmount = healAmount
        };

        HeroPreHealHandler.OnNext(heroPreHealEvent);

        foreach (Minion battlefieldMinion in GameManager.Instance.GetAllMinions())
        {
            battlefieldMinion.Buffs.OnHeroPreHeal.OnNext(heroPreHealEvent);
        }

        return(heroPreHealEvent);
    }
示例#2
0
文件: Hero.cs 项目: roadf5/HSMod
    public override void Heal(int healAmount)
    {
        // Firing OnHeroPreHeal events
        HeroPreHealEvent heroPreHealEvent = EventManager.Instance.OnHeroPreHeal(this, healAmount);

        // TODO : Check if heal is transformed to damage and if so, call Damage instead

        Debugger.LogHero(this, "healing for " + heroPreHealEvent.HealAmount);

        // Updating the current health (clamped to MaxHealth)
        CurrentHealth = Mathf.Min(CurrentHealth + heroPreHealEvent.HealAmount, MaxHealth);

        // Firing OnHeroHealed events
        EventManager.Instance.OnHeroHealed(this, heroPreHealEvent.HealAmount);

        // TODO : Heal animation + sound
        // TODO : Show heal sprite + healed amount on hero portrait

        Player.HeroController.UpdateNumbers();
    }