void CreateLeaderboardEntryFieldMP(LeaderboardEntryMP entry) { //Debug.Log("Creating a new entryfield(MP)"); Transform entryField = Instantiate(leaderboardEntryMP, leaderboardEntryContainer.transform); RectTransform entryRect = entryField.transform.GetComponent <RectTransform>(); entryRect.anchoredPosition = new Vector2(0, -(entryRect.rect.height / 2f) - entryRect.rect.height * leaderboardEntryFieldList.Count); if (leaderboardEntryFieldList.Count % 2 == 1) { entryField.transform.Find("LeaderboardEntryBG").GetComponent <Image>().color -= new Color(29f / 255f, 29f / 255f, 29f / 255f, 0); // Every other color is dark tinted version of the original color } entryField.transform.Find("RankNro").GetComponent <TextMeshProUGUI>().text = (leaderboardEntryFieldList.Count + 1).ToString(); entryField.transform.Find("PlayerNames").GetComponent <TextMeshProUGUI>().text = entry.nameP1 + " & " + entry.nameP2; entryField.transform.Find("PlayerTime").GetComponent <TextMeshProUGUI>().text = Mathf.FloorToInt(entry.time / 60f).ToString() + "m:" + ((Mathf.RoundToInt(entry.time) % 60)).ToString() + "s"; //entryField.transform.Find("PlayerScore").GetComponent<TextMeshProUGUI>().text = entry.score.ToString(); entryField.transform.Find("PlayerKills").GetComponent <TextMeshProUGUI>().text = entry.kills.ToString(); entryField.transform.Find("PlayerWave").GetComponent <TextMeshProUGUI>().text = entry.wave.ToString(); //entryField.transform.GetChild(0).GetComponent<TextMeshProUGUI>().text = (leaderboardEntryFieldList.Count + 1).ToString(); //entryField.transform.GetChild(1).GetComponent<TextMeshProUGUI>().text = entry.name; //entryField.transform.GetChild(2).GetComponent<TextMeshProUGUI>().text = entry.score.ToString(); //entryField.transform.GetChild(3).GetComponent<TextMeshProUGUI>().text = entry.kills.ToString(); //entryField.transform.GetChild(4).GetComponent<TextMeshProUGUI>().text = entry.wave.ToString(); entryField.gameObject.SetActive(true); leaderboardEntryFieldList.Add(entryField); }
public void GameOver() { gameOver = true; gameOverMenu.SetActive(true); Cursor.lockState = CursorLockMode.None; Cursor.visible = true; Time.timeScale = 0; LeaderboardScript leaderboard = GameObject.Find("Leaderboard").GetComponent <LeaderboardScript>(); if (leaderboard != null) { if (playerCount > 1) { LeaderboardEntryMP entryMP = new LeaderboardEntryMP(); entryMP.nameP1 = localPlayerName; entryMP.nameP2 = secondPlayerName; entryMP.kills = kills; entryMP.wave = roundsBeaten; entryMP.time = gameTime; leaderboard.AddLeaderboardEntryMP(entryMP); } else { LeaderboardEntry entrySP = new LeaderboardEntry(); entrySP.name = localPlayerName; entrySP.kills = kills; entrySP.wave = roundsBeaten; entrySP.time = gameTime; leaderboard.AddLeaderboardEntry(entrySP); } } else { Debug.Log("Leaderboard prefab not found!"); } // FMODUnity.RuntimeManager.GetBus("bus:/main").stopAllEvents(FMOD.Studio.STOP_MODE.IMMEDIATE); Destroy(this.gameObject); }
public void GenerateLeaderboardEntriesMP() { List <GameObject> childList = new List <GameObject>(); for (int i = 0; i < leaderboardEntryContainer.transform.childCount; i++) { if (leaderboardEntryContainer.transform.GetChild(i).name.Contains("(Clone)")) { childList.Add(leaderboardEntryContainer.transform.GetChild(i).gameObject); } } foreach (GameObject child in childList) { child.transform.SetParent(null); Destroy(child); } leaderboardEntryFieldList.Clear(); leaderboardMP.entryList.Clear(); for (int i = 0; i < UnityEngine.Random.Range(5, 40); i++) { LeaderboardEntryMP newEntry = new LeaderboardEntryMP { nameP1 = "player " + UnityEngine.Random.Range(0, 99).ToString(), nameP2 = "player " + UnityEngine.Random.Range(0, 99).ToString(), time = UnityEngine.Random.Range(0, 9999), kills = UnityEngine.Random.Range(0, 100), wave = UnityEngine.Random.Range(0, 30) }; leaderboardMP.entryList.Add(newEntry); } foreach (LeaderboardEntryMP entry in leaderboardMP.entryList) { CreateLeaderboardEntryFieldMP(entry); } RectTransform rect = leaderboardEntryContainer.transform.GetComponent <RectTransform>(); leaderboardEntryContainer.transform.GetComponent <RectTransform>().sizeDelta = new Vector2(rect.sizeDelta.x, (leaderboardEntryContainer.transform.childCount - 2) * entryFieldRect.height); Debug.Log("Generated new random MP entries"); }
public void AddLeaderboardEntryMP(LeaderboardEntryMP newEntry) { string oldBoardJson = PlayerPrefs.GetString("LeaderboardMP"); if (oldBoardJson.Length > 0) { leaderboardMP = JsonUtility.FromJson <LeaderboardMP>(oldBoardJson); } else { leaderboardMP = new LeaderboardMP(); } leaderboardMP.entryList.Add(newEntry); string newBoardJson = JsonUtility.ToJson(leaderboard); PlayerPrefs.SetString("LeaderboardMP", newBoardJson); PlayerPrefs.Save(); Debug.Log("Leaderboard entry(MP) saved"); }