public void ForEachInHand(CardCallback callback) { for (int i = 0; i < hand.Length; ++i) { if (hand[i] != null) { callback(i); } } }
public virtual void DrawSecondCard(CardCallback callback) { callback(null); }
public virtual void DrawFirstCard(CardCallback callback) { callback(null); }
public JesseJonesResponseHandler(JesseJones parent, CardCallback callback) : base(RequestType.StealCard, parent.Player) { this.parent = parent; this.callback = callback; }
public override void DrawFirstCard(CardCallback callback) { Game.GameCycle.PushTempHandler(new JesseJonesResponseHandler(this, callback)); }
public override void DrawFirstCard(CardCallback callback) { OnUsedAbility(); callback(Game.GameTable.PlayerDrawFromGraveyard(Player, 1)[0]); }
public override void DrawSecondCard(CardCallback callback) { if(characters.Count == 0) base.DrawSecondCard(callback); else if(characters.Count == 1) characters.First().DrawSecondCard(callback); else Game.GameCycle.PushTempHandler(new ChooseCharacterResponseHandler(this, RequestType.ChooseCharacterForDrawSecondCard, c => { if(c != null) c.DrawSecondCard(callback); else base.DrawSecondCard(callback); })); }