// 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 LayoutPRDetails() { string units = " u/s"; int i = 0; foreach (MapPRDetails zonePR in mapPRDetails) { if (zonePR.zoneID == "0") { continue; } bool noTime = (zonePR.surfTime is null || zonePR.surfTime == "0"); if (i != 0) { ZoneRecordStack.Children.Add(new BoxView { Style = App.Current.Resources["Separator2Style"] as Style }); } ZoneRecordStack.Children.Add(new Label { Text = EFilter_ToString.zoneFormatter(zonePR.zoneID, false, true), Style = App.Current.Resources["HeaderLabel"] as Style, Margin = new Thickness(10, 0, 0, 0) }); // Info ----------------------------------------------------------------- Grid recordGrid = new Grid { ColumnDefinitions = { new ColumnDefinition { Width = 45 }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, }, Style = App.Current.Resources["ColumnGridStyle"] as Style }; recordGrid.Children.Add(new StackLayout { Children = { new Label { Text = "Time", Style = App.Current.Resources["LeftColStyle"] as Style }, new Label { Text = "Rank", Style = App.Current.Resources["LeftColStyle"] as Style }, } }, 0, 0); if (noTime) { recordGrid.Children.Add(new StackLayout { Children = { new Label { Text = "None", Style = App.Current.Resources["RightColStyle"] as Style }, new Label { Text = "N/A", Style = App.Current.Resources["RightColStyle"] as Style }, } }, 1, 0); } else { string rank = zonePR.rank + "/" + zonePR.totalRanks; if (zonePR.rank == "1") { rank = "[WR] " + rank; } else if (int.Parse(zonePR.rank) <= 10) { rank = "[Top10] " + rank; } recordGrid.Children.Add(new StackLayout { Children = { new Label { Text = String_Formatter.toString_RankTime(zonePR.surfTime), Style = App.Current.Resources["RightColStyle"] as Style }, new Label { Text = rank, Style = App.Current.Resources["RightColStyle"] as Style }, } }, 1, 0); } ZoneRecordStack.Children.Add(recordGrid); if (noTime) { i++; continue; } ZoneRecordStack.Children.Add(new BoxView { Style = App.Current.Resources["MiniSeparatorStyle"] as Style }); // Velocity ------------------------------------------------------------- Grid velGrid = new Grid { ColumnDefinitions = { new ColumnDefinition { Width = 95 }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, }, Style = App.Current.Resources["ColumnGridStyle"] as Style }; velGrid.Children.Add(new StackLayout { Children = { new Label { Text = "Avg Vel", Style = App.Current.Resources["LeftColStyle"] as Style }, new Label { Text = "Start Vel", Style = App.Current.Resources["LeftColStyle"] as Style }, new Label { Text = "End Vel", Style = App.Current.Resources["LeftColStyle"] as Style }, } }, 0, 0); velGrid.Children.Add(new StackLayout { Children = { new Label { Text = ((int)double.Parse(zonePR.avgVel)) + units, Style = App.Current.Resources["RightColStyle"] as Style }, new Label { Text = ((int)double.Parse(zonePR.startVel)) + units, Style = App.Current.Resources["RightColStyle"] as Style }, new Label { Text = ((int)double.Parse(zonePR.endVel)) + units, Style = App.Current.Resources["RightColStyle"] as Style }, } }, 1, 0); ZoneRecordStack.Children.Add(velGrid); ZoneRecordStack.Children.Add(new BoxView { Style = App.Current.Resources["MiniSeparatorStyle"] as Style }); // Completion ------------------------------------------------------------------ string completion = zonePR.count; if (!(zonePR.attempts is null)) { string percent = String_Formatter.toString_CompletionPercent(zonePR.count, zonePR.attempts); completion += "/" + zonePR.attempts + " (" + percent + ")"; } string time = ""; if (!(zonePR.totalSurfTime is null)) { time = String_Formatter.toString_PlayTime(zonePR.totalSurfTime, true); } Grid compGrid = new Grid { ColumnDefinitions = { new ColumnDefinition { Width = 114 }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, }, Style = App.Current.Resources["ColumnGridStyle"] as Style }; compGrid.Children.Add(new StackLayout { Children = { new Label { Text = "Completions", Style = App.Current.Resources["LeftColStyle"] as Style }, new Label { Text = "Time in Zone", Style = App.Current.Resources["LeftColStyle"] as Style }, } }, 0, 0); compGrid.Children.Add(new StackLayout { Children = { new Label { Text = completion, Style = App.Current.Resources["RightColStyle"] as Style }, new Label { Text = time, Style = App.Current.Resources["RightColStyle"] as Style }, } }, 1, 0); ZoneRecordStack.Children.Add(compGrid); i++; } }
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); }