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(); }
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; } }
private void FlushShield() { var shieldMod = ShieldDefenseMod.GetFrom(character); shieldMod.Value = 0; }