public void UpdateComponent() { PlayerNameBox.Text = LocalPlayerName; OpponentNameBox.Text = RemotePlayerName; var topTeam = TeamAtBottom.GetOpponent(); var slots = new byte[24]; int blackBorneOffCount = 0, whiteBorneOffCount = 0, blackHitCount = 0, whiteHitCount = 0; foreach (var checker in Checkers) { if (checker.Key.State == CheckerState.InGame) { slots[checker.Key.Slot]++; checker.Value.Visibility = slots[checker.Key.Slot] <= 5 ? Visibility.Visible : Visibility.Hidden; SetOverflowText(checker.Key.Slot, slots[checker.Key.Slot]); var gridCoordinates = Coordinates.GetGridPosition(TeamAtBottom, checker.Key.Slot, slots[checker.Key.Slot]); Grid.SetRow(MainGrid, (int)gridCoordinates.X); Grid.SetColumn(MainGrid, (int)gridCoordinates.Y); } else if (checker.Key.State == CheckerState.BorneOff) { checker.Value.Visibility = Visibility.Hidden; if (checker.Key.Color == Color.White) { whiteBorneOffCount++; } else { blackBorneOffCount++; } } else if (checker.Key.State == CheckerState.Hit) { checker.Value.Visibility = Visibility.Hidden; if (checker.Key.Color == Color.White) { whiteHitCount++; } else { blackHitCount++; } } } if (whiteBorneOffCount > 0) { // todo } if (blackBorneOffCount > 0) { // todo } if (whiteHitCount > 0) { // todo } if (blackHitCount > 0) { // todo } }