Exemplo n.º 1
0
    public override void OnRegister()
    {
        shield = ShieldDefenseMod.GetFrom(character);

        ShieldChanged();
        shield.ShieldChangedEvent += ShieldChanged;
    }
    public void ActivationEnded(List <Character> targets, Action callback)
    {
        targets.ForEach(t =>
        {
            var shieldMod    = ShieldDefenseMod.GetFrom(t);
            shieldMod.Value += shieldAmount;
        });

        callback();
    }
    public void Activate(List <Character> targets, TargetedAnimation animation, Action finishedAbility)
    {
        targets.ForEach(t =>
        {
            var shieldMod    = ShieldDefenseMod.GetFrom(t);
            shieldMod.Value += shieldAmount;
        });

        finishedAbility();
    }
Exemplo n.º 4
0
    void CheckForTurnBegan(Character c)
    {
        if (character != c)
        {
            return;
        }
        var shieldMod   = ShieldDefenseMod.GetFrom(character);
        var amountToAdd = Mathf.Min(maxShieldGeneratable - shieldMod.Value, shieldGeneratedPerTurn);

        if (amountToAdd > 0)
        {
            shieldMod.Value += amountToAdd;
        }
    }
Exemplo n.º 5
0
    private void FlushShield()
    {
        var shieldMod = ShieldDefenseMod.GetFrom(character);

        shieldMod.Value = 0;
    }