/// <summary> /// Accepts a visitor at the deck. /// </summary> /// <param name="visitor">The visitor to this deck.</param> void IDeckVisitable <TElement> .Accept(IDeckVisitor <TElement> visitor) { visitor.Visit(this); var me = (IDeckInternal <TElement>) this; visitor.Visit(me.DrawPileStack); visitor.Visit(me.DiscardPileStack); visitor.Visit(me.TableStack); visitor.Visit(me.TableauStack); visitor.Visit(Hands); foreach (IHandInternal <TElement> hand in Hands) { visitor.Visit(hand); } }
/// <summary> /// Accepts a visitor at this table. /// </summary> /// <param name="visitor">The visitor to accept.</param> void IDeckVisitable <TElement> .Accept(IDeckVisitor <TElement> visitor) { visitor.Visit(this); }