// Displaying Changes ------------------------------------------------------------------------------- private void LayoutTiers() { string[] labelTexts = new string[48]; int i = 0; foreach (PlayerTierCompletion datum in recordsData) { labelTexts[i++] = datum.map + "/" + datum.mapTotal + " (" + String_Formatter.toString_CompletionPercent(datum.map, datum.mapTotal) + ")"; labelTexts[i++] = String_Formatter.toString_Points(datum.stage) + "/" + String_Formatter.toString_Points(datum.stageTotal) + " (" + String_Formatter.toString_CompletionPercent(datum.stage, datum.stageTotal) + ")"; labelTexts[i++] = String_Formatter.toString_Points(datum.bonus) + "/" + String_Formatter.toString_Points(datum.bonusTotal) + " (" + String_Formatter.toString_CompletionPercent(datum.bonus, datum.bonusTotal) + ")"; } applyLabelTexts(labelTexts); }
// Displaying Changes ------------------------------------------------------------------------------- private void LayoutTopCountries() { foreach (CountryPoints datum in topCountriesData) { RankStack.Children.Add(new Label { Text = list_index + ". " + String_Formatter.toEmoji_Country(datum.country) + " " + datum.country, Style = App.Current.Resources["GridLabelStyle"] as Style }); PointsStack.Children.Add(new Label { Text = String_Formatter.toString_Points(datum.points), Style = App.Current.Resources["GridLabelStyle"] as Style }); list_index++; } moreRecords = (((list_index - 1) % LIST_LIMIT == 0) && ((list_index - 1) < CALL_LIMIT)); MoreFrame.IsVisible = moreRecords; }
private void LayoutPoints() { int fontsize = 16; CompletionStack.Children.Add(new Label { Text = "Map", Style = Resources["PointsStyle"] as Style, FontSize = fontsize }); CompletionValueStack.Children.Add(new Label { Text = String_Formatter.toString_Points(mapSettings.map_finish), Style = App.Current.Resources["RightColStyle"] as Style, FontSize = fontsize }); if (stageCount > 0) { CompletionStack.Children.Add(new Label { Text = "Stage", Style = Resources["PointsStyle"] as Style }); CompletionValueStack.Children.Add(new Label { Text = String_Formatter.toString_Points(mapSettings.stage_finish), Style = App.Current.Resources["RightColStyle"] as Style, FontSize = fontsize }); } if (bonusCount > 0) { CompletionStack.Children.Add(new Label { Text = "Bonus", Style = Resources["PointsStyle"] as Style, FontSize = fontsize }); CompletionValueStack.Children.Add(new Label { Text = String_Formatter.toString_Points(mapSettings.bonus_finish), Style = App.Current.Resources["RightColStyle"] as Style, FontSize = fontsize }); } int i = 1; foreach (double points in pointsData.TopPoints) { if (points == 0) { continue; } TopGroupStack.Children.Add(new Label { Text = (i != 1) ? "R" + i : "WR", Style = Resources["PointsStyle"] as Style, FontSize = fontsize }); TopGroupValueStack.Children.Add(new Label { Text = String_Formatter.toString_Points(points), Style = App.Current.Resources["RightColStyle"] as Style, FontSize = fontsize });; i++; } i = 0; int rank = 10; foreach (double points in pointsData.GroupPoints) { if (points == 0) { continue; } i++; int groupEnd = 10 + pointsData.GroupRanks[i]; GroupStack.Children.Add(new Label { Text = "G" + i + " (" + String_Formatter.toString_Points(rank + 1) + "-" + String_Formatter.toString_Points(groupEnd) + ")", Style = Resources["PointsStyle"] as Style, FontSize = fontsize }); GroupValueStack.Children.Add(new Label { Text = String_Formatter.toString_Points(points), Style = App.Current.Resources["RightColStyle"] as Style, FontSize = fontsize });; rank = groupEnd; } }
// UI ----------------------------------------------------------------------------------------------- #region UI private async Task ChangeMostByType(EFilter_Game game, EFilter_MostType type, EFilter_Mode mode, bool clearGrid) { string rightColString = "Player"; string leftColString = ""; List <string> players = new List <string>(); List <string> values = new List <string>(); switch (type) { case EFilter_MostType.pc: { var mostPCDatum = await recordsViewModel.GetMostPC(game, mode, list_index); mostPCData = mostPCDatum?.data; if (mostPCData is null || mostPCData.Count < 1) { MoreFrame.IsVisible = false; return; } leftColString = "Total"; foreach (MostPCDatum datum in mostPCData) { players.Add(String_Formatter.toEmoji_Country(datum.country) + " " + datum.name); values.Add((double.Parse(datum.percentCompletion) * 100).ToString("0.00") + "%"); } break; } case EFilter_MostType.wr: case EFilter_MostType.wrcp: case EFilter_MostType.wrb: case EFilter_MostType.mostwr: case EFilter_MostType.mostwrcp: case EFilter_MostType.mostwrb: { var mostCountDatum = await recordsViewModel.GetMostCount(game, type, mode, list_index); mostCountData = mostCountDatum?.data; if (mostCountData is null || mostCountData.Count < 1) { MoreFrame.IsVisible = false; return; } leftColString = "Total"; foreach (MostCountDatum datum in mostCountData) { players.Add(String_Formatter.toEmoji_Country(datum.country) + " " + datum.name); values.Add(String_Formatter.toString_Int(datum.total)); } break; } case EFilter_MostType.top10: { var mostTopDatum = await recordsViewModel.GetMostTop(game, mode, list_index); mostTopData = mostTopDatum?.data; if (mostTopData is null || mostTopData.Count < 1) { MoreFrame.IsVisible = false; return; } leftColString = "Points"; foreach (MostTopDatum datum in mostTopData) { players.Add(String_Formatter.toEmoji_Country(datum.country) + " " + datum.name); values.Add(String_Formatter.toString_Points(datum.top10Points)); } break; } case EFilter_MostType.group: { var mostGroupDatum = await recordsViewModel.GetMostGroup(game, mode, list_index); mostGroupData = mostGroupDatum?.data; if (mostGroupData is null || mostGroupData.Count < 1) { MoreFrame.IsVisible = false; return; } leftColString = "Points"; foreach (MostGroupDatum datum in mostGroupData) { players.Add(String_Formatter.toEmoji_Country(datum.country) + " " + datum.name); values.Add(String_Formatter.toString_Points(datum.groupPoints)); } break; } case EFilter_MostType.mostcontestedwr: { var mostContWrDatum = await recordsViewModel.GetMostContWr(game, mode, list_index); mostContWrData = mostContWrDatum?.data; if (mostContWrData is null || mostContWrData.Count < 1) { MoreFrame.IsVisible = false; return; } rightColString = "Map"; leftColString = "Beaten"; foreach (MostContWrDatum datum in mostContWrData) { players.Add(datum.mapName); values.Add(String_Formatter.toString_Int(datum.total)); } break; } case EFilter_MostType.mostcontestedwrcp: case EFilter_MostType.mostcontestedwrb: { var mostContZoneDatum = await recordsViewModel.GetMostContZone(game, type, mode, list_index); mostContZoneData = mostContZoneDatum?.data; if (mostContZoneData is null || mostContZoneData.Count < 1) { MoreFrame.IsVisible = false; return; } rightColString = "Zone"; leftColString = "Beaten"; foreach (MostContZoneDatum datum in mostContZoneData) { string zoneString = EFilter_ToString.zoneFormatter(datum.zoneID, false, false); players.Add(datum.mapName + " " + zoneString); values.Add(String_Formatter.toString_Int(datum.total)); } break; } case EFilter_MostType.playtimeday: case EFilter_MostType.playtimeweek: case EFilter_MostType.playtimemonth: { var mostTimeDatum = await recordsViewModel.GetMostTime(game, type, mode, list_index); mostTimeData = mostTimeDatum?.data; if (mostTimeData is null || mostTimeData.Count < 1) { return; } rightColString = "Map"; leftColString = "Time"; foreach (MostTimeDatum datum in mostTimeData) { players.Add(datum.mapName); values.Add(String_Formatter.toString_PlayTime(datum.totalplaytime.ToString(), true)); } break; } default: return; } MostTypeOptionLabel.Text = "Type: " + EFilter_ToString.toString2(type); if (clearGrid) { ClearMostByTypeGrid(rightColString, leftColString); } LayoutMostByType(type, players, values); }
private void LayoutPlayerInfo() { // Info ----------------------------------------------------------- RankLabel.Text = String_Formatter.toString_Int(playerInfoData.SurfRank); PointsLabel.Text = String_Formatter.toString_Points(playerInfoData.playerPoints.points); CompletionLabel.Text = playerInfoData.percentCompletion + "%"; WRsLabel.Text = playerInfoData.WRZones.wr; WRCPsLabel.Text = String_Formatter.toString_Int(playerInfoData.WRZones.wrcp); WRBsLabel.Text = String_Formatter.toString_Points(playerInfoData.WRZones.wrb); if (int.Parse(playerInfoData.WRZones.wr) > 0) { wrsType = EFilter_PlayerWRsType.wr; } else if (int.Parse(playerInfoData.WRZones.wrcp) > 0) { wrsType = EFilter_PlayerWRsType.wrcp; } else if (int.Parse(playerInfoData.WRZones.wrb) > 0) { wrsType = EFilter_PlayerWRsType.wrb; } WRsFrame.IsVisible = (wrsType != EFilter_PlayerWRsType.none); FirstOnlineLabel.Text = String_Formatter.toString_KSFDate(playerInfoData.basicInfo.firstOnline); LastSeenLabel.Text = String_Formatter.toString_LastOnline(playerInfoData.basicInfo.lastOnline); SurfTimeLabel.Text = String_Formatter.toString_PlayTime(playerInfoData.basicInfo.aliveTime, true); SpecTimeLabel.Text = String_Formatter.toString_PlayTime(playerInfoData.basicInfo.deadTime, true); // Completion ----------------------------------------------------- MapsValueLabel.Text = playerInfoData.CompletedZones.map + "/" + playerInfoData.TotalZones.TotalMaps; MapsValueLabel.Text += " (" + String_Formatter.toString_CompletionPercent(playerInfoData.CompletedZones.map, playerInfoData.TotalZones.TotalMaps) + ")"; StagesValueLabel.Text = String_Formatter.toString_Points(playerInfoData.CompletedZones.stage) + "/" + String_Formatter.toString_Points(playerInfoData.TotalZones.TotalStages); StagesValueLabel.Text += " (" + String_Formatter.toString_CompletionPercent(playerInfoData.CompletedZones.stage, playerInfoData.TotalZones.TotalStages) + ")"; BonusesValueLabel.Text = String_Formatter.toString_Points(playerInfoData.CompletedZones.bonus) + "/" + String_Formatter.toString_Points(playerInfoData.TotalZones.TotalBonuses); BonusesValueLabel.Text += " (" + String_Formatter.toString_CompletionPercent(playerInfoData.CompletedZones.bonus, playerInfoData.TotalZones.TotalBonuses) + ")"; // Groups --------------------------------------------------------- Top10sLabel.Text = playerInfoData.Top10Groups.top10; hasTop = (playerInfoData.Top10Groups.top10 != "0"); if (hasTop) { if (playerInfoData.Top10Groups.rank1 != "0") { R1GroupLabel.IsVisible = true; R1ValueLabel.IsVisible = true; R1ValueLabel.Text = playerInfoData.Top10Groups.rank1; } else { R1GroupLabel.IsVisible = false; R1ValueLabel.IsVisible = false; } if (playerInfoData.Top10Groups.rank2 != "0") { R2GroupLabel.IsVisible = true; R2ValueLabel.IsVisible = true; R2ValueLabel.Text = playerInfoData.Top10Groups.rank2; } else { R2GroupLabel.IsVisible = false; R2ValueLabel.IsVisible = false; } if (playerInfoData.Top10Groups.rank3 != "0") { R3GroupLabel.IsVisible = true; R3ValueLabel.IsVisible = true; R3ValueLabel.Text = playerInfoData.Top10Groups.rank3; } else { R3GroupLabel.IsVisible = false; R3ValueLabel.IsVisible = false; } if (playerInfoData.Top10Groups.rank4 != "0") { R4GroupLabel.IsVisible = true; R4ValueLabel.IsVisible = true; R4ValueLabel.Text = playerInfoData.Top10Groups.rank4; } else { R4GroupLabel.IsVisible = false; R4ValueLabel.IsVisible = false; } if (playerInfoData.Top10Groups.rank5 != "0") { R5GroupLabel.IsVisible = true; R5ValueLabel.IsVisible = true; R5ValueLabel.Text = playerInfoData.Top10Groups.rank5; } else { R5GroupLabel.IsVisible = false; R5ValueLabel.IsVisible = false; } if (playerInfoData.Top10Groups.rank6 != "0") { R6GroupLabel.IsVisible = true; R6ValueLabel.IsVisible = true; R6ValueLabel.Text = playerInfoData.Top10Groups.rank6; } else { R6GroupLabel.IsVisible = false; R6ValueLabel.IsVisible = false; } if (playerInfoData.Top10Groups.rank7 != "0") { R7GroupLabel.IsVisible = true; R7ValueLabel.IsVisible = true; R7ValueLabel.Text = playerInfoData.Top10Groups.rank7; } else { R7GroupLabel.IsVisible = false; R7ValueLabel.IsVisible = false; } if (playerInfoData.Top10Groups.rank8 != "0") { R8GroupLabel.IsVisible = true; R8ValueLabel.IsVisible = true; R8ValueLabel.Text = playerInfoData.Top10Groups.rank8; } else { R8GroupLabel.IsVisible = false; R8ValueLabel.IsVisible = false; } if (playerInfoData.Top10Groups.rank9 != "0") { R9GroupLabel.IsVisible = true; R9ValueLabel.IsVisible = true; R9ValueLabel.Text = playerInfoData.Top10Groups.rank9; } else { R9GroupLabel.IsVisible = false; R9ValueLabel.IsVisible = false; } if (playerInfoData.Top10Groups.rank10 != "0") { R10GroupLabel.IsVisible = true; R10ValueLabel.IsVisible = true; R10ValueLabel.Text = playerInfoData.Top10Groups.rank10; } else { R10GroupLabel.IsVisible = false; R10ValueLabel.IsVisible = false; } } else { R1GroupLabel.IsVisible = false; R1ValueLabel.IsVisible = false; R2GroupLabel.IsVisible = false; R2ValueLabel.IsVisible = false; R3GroupLabel.IsVisible = false; R3ValueLabel.IsVisible = false; R4GroupLabel.IsVisible = false; R4ValueLabel.IsVisible = false; R5GroupLabel.IsVisible = false; R5ValueLabel.IsVisible = false; R6GroupLabel.IsVisible = false; R6ValueLabel.IsVisible = false; R7GroupLabel.IsVisible = false; R7ValueLabel.IsVisible = false; R8GroupLabel.IsVisible = false; R8ValueLabel.IsVisible = false; R9GroupLabel.IsVisible = false; R9ValueLabel.IsVisible = false; R10GroupLabel.IsVisible = false; R10ValueLabel.IsVisible = false; } G1sLabel.Text = playerInfoData.Top10Groups.g1; G2sLabel.Text = playerInfoData.Top10Groups.g2; G3sLabel.Text = playerInfoData.Top10Groups.g3; G4sLabel.Text = playerInfoData.Top10Groups.g4; G5sLabel.Text = playerInfoData.Top10Groups.g5; G6sLabel.Text = playerInfoData.Top10Groups.g6; GroupsLabel.Text = playerInfoData.Top10Groups.groups; // Points Stack ------------------------------------------------------ Top10PtsLabel.Text = String_Formatter.toString_Points(playerInfoData.playerPoints.top10); GroupsPtsLabel.Text = String_Formatter.toString_Points(playerInfoData.playerPoints.groups); MapsPtsLabel.Text = String_Formatter.toString_Points(playerInfoData.playerPoints.map); string wrcpPoints = ""; if (playerInfoData.playerPoints.wrcp != "0") { wrcpPoints = "[+" + String_Formatter.toString_Points(playerInfoData.playerPoints.wrcp) + "] "; } StagesPtsLabel.Text = wrcpPoints + String_Formatter.toString_Points(playerInfoData.playerPoints.stage); string wrbPoints = ""; if (playerInfoData.playerPoints.wrb != "0") { wrbPoints = "[+" + String_Formatter.toString_Points(playerInfoData.playerPoints.wrb) + "] "; } BonusesPtsLabel.Text = wrbPoints + String_Formatter.toString_Points(playerInfoData.playerPoints.bonus); }