protected bool PushChild(MTGEvent child) { var result = MTG.Instance.PushEvent(child); if (result) { children.AddLast(child); } return(result); }
public IEnumerable <TriggeredAbilityEntry> TriggeredAbilities(MTGEvent mtgevent) { Type type = mtgevent.GetType(); if (_allTriggeredAbilities.TryGetValue(type, out var abilities)) { foreach (var ability in abilities) { yield return(ability); } } }
public bool PushEvent(MTGEvent mtgEvent) { string indentstr = ""; for (int i = 0; i < indent; i++) { indentstr += " : "; } Console.WriteLine($"{indentstr}{mtgEvent.GetType().Name} pushed"); indent++; var result = mtgEvent.Apply(); indent--; Console.WriteLine($"{indentstr}{mtgEvent.GetType().Name} resolved"); return(result); }
public abstract bool DoesTrigger(OID source, MTGEvent mtgevent);
public bool callback(MTGEvent newEvent) { return(PushChild(newEvent)); }