// 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);
        }
Esempio n. 2
0
        // 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++;
            }
        }
Esempio n. 3
0
        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);
        }