Exemplo n.º 1
0
    public void StartIndividualPanel(string accountNameInput, DateTime periodStartDateInput)
    {
        accountName          = accountNameInput;
        periodStartDate      = periodStartDateInput;
        storageManagerScript = FindObjectOfType <StorageManager>();
        scoreBordScript      = FindObjectOfType <ScoreBord>();
        physicsManager       = FindObjectOfType <PhysicsManager>();

        selectedEventFiles     = scoreBordScript.GetAllSelectedEventFiles(accountName, periodStartDate);
        selectedEventFilesData = scoreBordScript.ReadAllEventFiles(selectedEventFiles);

        numberOfSessions.text  = scoreBordScript.GetNumberOfSessions(selectedEventFiles).ToString();
        totalTime.text         = physicsManager.FormatSeconds(scoreBordScript.GetTotalVar(selectedEventFilesData, 3, 2));  //Tijd heeft in racebestanden index 3 en in training index 2
        totalDistance.text     = physicsManager.FormatDistance(scoreBordScript.GetTotalVar(selectedEventFilesData, 2, 1)); //Afstand heeft in racebestanden index 2 en in training index 1
        totalEnergy.text       = physicsManager.FormatEnergy(scoreBordScript.GetTotalVar(selectedEventFilesData, 4, 3));   //Energie heeft in racebestanden index 4 em in training index 3
        racesParticipated.text = scoreBordScript.GetRacesParticipated(selectedEventFiles).ToString();
        racesWon.text          = scoreBordScript.GetRacesWon(selectedEventFilesData).ToString();
        if (scoreBordScript.GetAverageRankingInRaces(selectedEventFilesData) == 42)
        {
            racesAveragePosition.text = "Niet aan races deelgenomen";
        }
        else
        {
            racesAveragePosition.text = scoreBordScript.GetAverageRankingInRaces(selectedEventFilesData).ToString();
        }
    }
Exemplo n.º 2
0
    //veel moed hiermee, als het teveel wordt is The Expanse kijken ook altijd een optie
    public void StartCompetitivePanel(DateTime periodStartDate)
    {
        storageManagerScript = FindObjectOfType <StorageManager>();
        scoreBordScript      = FindObjectOfType <ScoreBord>();
        playerOptions        = storageManagerScript.GetPlayerOptions();
        playerOptions.Remove("");

        rankingsList.Add(numberOfSessionsRanking); rankingsList.Add(totalTImeRanking); rankingsList.Add(totalDistanceRanking); rankingsList.Add(numberOfRacesWonRanking); rankingsList.Add(averageRankingRanking);

        foreach (string player in playerOptions) //Geeft iedere speler een AcountHistory met de data van deze speler.
        {
            //Haal alle bestanden op van de speler vanaf een bepaalde datum
            List <FileInfo> selectedEventFiles = scoreBordScript.GetAllSelectedEventFiles(player, periodStartDate);

            //Lees deze bestanden
            List <List <float> > selectedEventFilesData = scoreBordScript.ReadAllEventFiles(selectedEventFiles);

            //Creer een Accounthistory en prop deze vol met de informatie over de speler
            AccountHistory accountHistory = gameObject.AddComponent <AccountHistory>();
            accountHistory.accountName      = player;
            accountHistory.numberOfSessions = scoreBordScript.GetNumberOfSessions(selectedEventFiles);
            accountHistory.totalTime        = scoreBordScript.GetTotalVar(selectedEventFilesData, 3, 2); //Tijd heeft in racebestanden index 3 en in training index 2
            accountHistory.totalDistance    = scoreBordScript.GetTotalVar(selectedEventFilesData, 2, 1); //Afstand heeft in racebestanden index 2 en in training index 1
            accountHistory.numberOfRacesWon = scoreBordScript.GetRacesWon(selectedEventFilesData);
            accountHistory.averageRanking   = scoreBordScript.GetAverageRankingInRaces(selectedEventFilesData);
            accountHistory.UpdateDataList();
            accountHistories.Add(accountHistory);
        }

        //Maakt nu verschillende lijsten waarin de gesorteerde AccountHistories worden geplaatst
        accountsSortedByNumberOfSessions = new List <AccountHistory>(accountHistories);
        //Sorteer de lijsten op de geselecteerde waarde
        accountsSortedByNumberOfSessions.Sort(SortByNumberOfSessions);
        //Voeg toe aan de lijst van de lijst van gesorteerde accounts
        sortedAccounts.Add(accountsSortedByNumberOfSessions);
        //Repeat
        accountsSortedByTotalTime = new List <AccountHistory>(accountHistories);
        accountsSortedByTotalTime.Sort(SortByTotalTime); sortedAccounts.Add(accountsSortedByTotalTime);
        accountsSortedByTotalDistance = new List <AccountHistory>(accountHistories);
        accountsSortedByTotalDistance.Sort(SortByTotalDistance); sortedAccounts.Add(accountsSortedByTotalDistance);
        accountsSortedByNumberOfRacesWon = new List <AccountHistory>(accountHistories);
        accountsSortedByNumberOfRacesWon.Sort(SortByNumberOfRacesWon); sortedAccounts.Add(accountsSortedByNumberOfRacesWon);
        accountsSortedByAverageRanking = new List <AccountHistory>(accountHistories);
        accountsSortedByAverageRanking.Sort(SortByAverageRanking); sortedAccounts.Add(accountsSortedByAverageRanking);

        int i = 0;

        foreach (Rankings rankings in rankingsList) //Iedere ranking krijgt nu een gesorteerde lijst toegewezen om te laten zien
        {
            rankings.ApplyRankings(sortedAccounts[i], i);
            i += 1;
        }
    }
Exemplo n.º 3
0
    public void ApplyRankings(List <AccountHistory> accountHistories, int dataToDisplay)
    {
        physicsManager  = FindObjectOfType <PhysicsManager>();
        scoreBordScript = FindObjectOfType <ScoreBord>();

        int t = 0;

        Ranking[] rankingsArray = GetComponentsInChildren <Ranking>();
        foreach (Ranking ranking in rankingsArray)
        {
            ranking.number.text = (t + 1).ToString();

            if (t < accountHistories.Count) //zijn er genoeg accounts om het leaderboard te vullen tot 10?
            {
                // Geeft eerst rauwe data aan ranking en bewerkt nadien in speciale gevallen.
                ranking.name.text  = accountHistories[t].accountName;
                ranking.value.text = accountHistories[t].historyData[dataToDisplay].ToString();

                //Speciale gevallen
                if (dataToDisplay == 1) //Tijd
                {
                    ranking.value.text = physicsManager.FormatSeconds(accountHistories[t].historyData[dataToDisplay]);
                }

                if (dataToDisplay == 2) //Afstand
                {
                    ranking.value.text = physicsManager.FormatDistance(accountHistories[t].historyData[dataToDisplay]);
                }

                if (dataToDisplay == 4) //Gemiddelde ranking
                {
                    //Aan races meegedaan, laat zien met 2 kommagetallen
                    ranking.value.text = accountHistories[t].historyData[4].ToString("F2");
                    //Niet aan races meegedaan, delen door nul dus speciaal geval nodig
                    if (accountHistories[t].historyData[4] == 42)
                    {
                        ranking.value.text = "Nog geen  ."; //Twee spaties en punt om rare textbug te voorkomen (Bug komt alleen voor op sommige PC's, op mijn thuispc bijvoorbeeld ziet het er wel ok uit en is die "  ." maar raar)
                    }
                }
            }
            else
            {
                ranking.name.text  = "-----";
                ranking.value.text = "-----";
            }
            t += 1;
        }
    }
Exemplo n.º 4
0
    public void StartCollectivePanel(DateTime periodStartDateInput)
    {
        periodStartDate      = periodStartDateInput;
        storageManagerScript = FindObjectOfType <StorageManager>();
        scoreBordScript      = FindObjectOfType <ScoreBord>();
        physicsManager       = FindObjectOfType <PhysicsManager>();

        selectedEventFiles     = scoreBordScript.GetAllSelectedEventFiles(null, periodStartDate);
        selectedEventFilesData = scoreBordScript.ReadAllEventFiles(selectedEventFiles);

        numberOfSessions.text = scoreBordScript.GetNumberOfSessions(selectedEventFiles).ToString();
        totalTime.text        = physicsManager.FormatSeconds(scoreBordScript.GetTotalVar(selectedEventFilesData, 3, 2));  //Tijd heeft in racebestanden index 3 en in training index 2
        totalDistance.text    = physicsManager.FormatDistance(scoreBordScript.GetTotalVar(selectedEventFilesData, 2, 1)); //Afstand heeft in racebestanden index 2 en in training index 1
        totalEnergy.text      = physicsManager.FormatEnergy(scoreBordScript.GetTotalVar(selectedEventFilesData, 4, 3));   //Energie heeft in racebestanden index 4 em in training index 1
        racesHeld.text        = scoreBordScript.GetRacesParticipated(selectedEventFiles).ToString();
    }
Exemplo n.º 5
0
 // Start is called before the first frame update
 void Start()
 {
     addNonTrigerBoxCollider();
     scoreBord = FindObjectOfType <ScoreBord>();
 }