protected CancellableSetCounterBase(IGameCounter currentGameCounter, EnumTeams initialServiceRight)
 {
     SetCountA           = SetCountB = 0;
     CurrentGameCounter  = currentGameCounter ?? throw new ArgumentNullException(nameof(currentGameCounter));
     History             = new Stack <SetCounterHistoryItem>();
     CurrentServiceRight = initialServiceRight;
     PushHistory(new SetCounterHistoryItem(currentGameCounter, new TeamedValuePair <int>(0, 0), initialServiceRight));
 }
 public void Deconstruct(out IGameCounter gameCounter, out TeamedValuePair <int> setCounts, out EnumTeams serviceRight)
 {
     gameCounter  = GameCounter;
     setCounts    = SetCounts;
     serviceRight = ServiceRight;
 }
 public SetCounterHistoryItem(IGameCounter gameCounter, TeamedValuePair <int> setCounts, EnumTeams serviceRight)
 {
     GameCounter  = gameCounter;
     SetCounts    = setCounts;
     ServiceRight = serviceRight;
 }