I’m trying to run a leaderboard script, but the script itself is not getting called. I’ve done the debugs under void update, and there are no logs in the console. I double-checked to make sure that it was attached to a GameObject in the scene, and it was. I tried adding to every single possible GameObject in the scene, yet it was still not getting called. Are there any errors in the script itself? Or is it a problem with the scene?
Scene: Imgur: The magic of the Internet
Script (note that it isn’t complete yet):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Leaderboard : MonoBehaviour {
private Transform entryContainer;
private Transform entryTemplate;
private void Awake ()
{
entryContainer = transform.Find("highscoreEntryContainer");
entryTemplate = entryContainer.Find("highscoreEntryTemplate");
entryTemplate.gameObject.SetActive(false);
float TemplateHeight = 20f;
for (int i = 0; i < 20; i++)
{
Transform entryTransform = Instantiate(entryTemplate, entryContainer);
RectTransform entryRectTransform = entryTransform.GetComponent<RectTransform>();
entryRectTransform.anchoredPosition = new Vector2(0, -TemplateHeight * i);
entryTransform.gameObject.SetActive(true);
int rank = i + 1;
string rankString;
switch (rank)
{
default:
rankString = rank + "TH"; break;
case 1: rankString = "1ST"; break;
case 2: rankString = "2ND"; break;
case 3: rankString = "3RD"; break;
}
entryTransform.Find("Pos").GetComponent<Text>().text = "";
entryTransform.Find("Name").GetComponent<Text>().text = "";
entryTransform.Find("Score").GetComponent<Text>().text = "";
int score = Random.Range(0, 10000);
entryTransform.Find("scoreText").GetComponent<Text>().text = score.ToString();
string name = "AAA";
entryTransform.Find("nameText").GetComponent<Text>().text = name;
}
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
Debug.Log("E");
}
}