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(); } }
//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; } }
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; } }
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(); }
// Start is called before the first frame update void Start() { addNonTrigerBoxCollider(); scoreBord = FindObjectOfType <ScoreBord>(); }