Line 66 and line 161 Any help will be grateful
NullReferenceException: Object reference not set to an instance of an object
using UnityEngine;
using System.Collections;
public class HighscoreDisplay : MonoBehaviour {
public Vector2 boxStartLocation;
public GUIStyle textGUIStyle;
Highscore[] score;
class Highscore{
public string name;
public int deaths;
public int kills;
public int gameID;
}
// Use this for initialization
void Start () {
enterName = false;
SyncPlayerPrefs();
AddNewHighscore();
score = new Highscore[10];
for( int i = 0; i < 10; i++ ){ score[i] = new Highscore(); }
score[0].name = "Ron";
score[1].name = "John";
score[2].name = "Smith";
score[3].name = "Josh";
score[4].name = "Sam";
score[5].name = "Kat";
score[6].name = "Justin";
score[7].name = "Ray";
score[8].name = "Zack";
score[9].name = "Nicole";
}
// Update is called once per frame
void Update () {
pulseColor = Color.Lerp(Color.white, Color.black, Mathf.PingPong(Time.time*1.4f, 0.5f));
}
public float heightOffset = 14;
public float deathsOffset = 100;
public float killsOffset = 150;
public int numberHighscores = 9;
public string newName = "Enter name";
public Color pulseColor;
public bool enterName = false;
void OnGUI()
{
if (newHighscorePosition < numberHighscores)
{
GUI.SetNextControlName ("NameTextField");
newName = GUI.TextField(new Rect(-100,-100,1,1),newName,30);
GUI.FocusControl ("NameTextField");
PreviewLabs.PlayerPrefs.SetString("highscore" + newHighscorePosition + "name" , newName);
score[newHighscorePosition].name = newName;
}
for( int i = 0; i < numberHighscores; i++){
if (i == 0) {
GUI.color = Color.green;
} else if (i == newHighscorePosition) {
GUI.color = pulseColor;
} else {
GUI.color = Color.white;
}
GUI.Box(new Rect( Screen.width /2+ boxStartLocation.x,
Screen.height/2+ boxStartLocation.y + i * heightOffset,
120, 30), score[i].name,textGUIStyle);
GUI.Box(new Rect( Screen.width /2+ boxStartLocation.x + deathsOffset,
Screen.height/2+ boxStartLocation.y + i * heightOffset,
120, 30), score[i].deaths.ToString(),textGUIStyle);
GUI.Box(new Rect( Screen.width /2+ boxStartLocation.x + killsOffset,
Screen.height/2+ boxStartLocation.y + i * heightOffset,
120, 30), score[i].kills.ToString(),textGUIStyle);
}
}
public int newHighscorePosition;
void AddNewHighscore() {
newHighscorePosition = numberHighscores+1;
var curdeaths = PreviewLabs.PlayerPrefs.GetInt("highscoreCurrentdeaths");
var curKills = PreviewLabs.PlayerPrefs.GetInt("highscoreCurrentKills");
var curGameID = PreviewLabs.PlayerPrefs.GetInt("highscoreCurrentGameID");
for( int i = 0 ; i < numberHighscores ; i++ ) {
if (curGameID == score[i].gameID) {
return;
}
if (curdeaths > score[i].deaths) {
newHighscorePosition = i;
break;
} else if (curdeaths == score[i].deaths curKills > score[i].kills) {
newHighscorePosition = i;
break;
}
}
if (newHighscorePosition < numberHighscores)
{
for(int i = numberHighscores - 1 ; i >= newHighscorePosition ; i-- ) {
if (i == newHighscorePosition) {
PreviewLabs.PlayerPrefs.SetString("highscore" + i + "name" , score[i].name);
score[i].name = score[i].name;
PreviewLabs.PlayerPrefs.SetInt("highscore" + i + "deaths" , curdeaths);
score[i].deaths = curdeaths;
PreviewLabs.PlayerPrefs.SetInt("highscore" + i + "kills" , curKills);
score[i].kills = curKills;
PreviewLabs.PlayerPrefs.SetInt("highscore" + i + "gameid" , curGameID);
score[i].gameID = curGameID;
} else {
PreviewLabs.PlayerPrefs.SetString("highscore" + i + "name" , score[i-1].name);
score[i].name = score[i-1].name;
PreviewLabs.PlayerPrefs.SetInt("highscore" + i + "deaths" , score[i-1].deaths);
score[i].deaths = score[i-1].deaths;
PreviewLabs.PlayerPrefs.SetInt("highscore" + i + "kills" , score[i-1].kills);
score[i].kills = score[i-1].kills;
PreviewLabs.PlayerPrefs.SetInt("highscore" + i + "gameid" , score[i-1].gameID);
score[i].gameID = score[i-1].gameID;
}
}
}
PreviewLabs.PlayerPrefs.Flush();
}
void SyncPlayerPrefs(){
for( int i = 0; i < numberHighscores; i++){
if (PreviewLabs.PlayerPrefs.HasKey("highscore" + i + "name" )) {
score[i].name = PreviewLabs.PlayerPrefs.GetString("highscore" + i + "name");
} else {
PreviewLabs.PlayerPrefs.SetString("highscore" + i + "name" , score[i].name);
}
if (PreviewLabs.PlayerPrefs.HasKey("highscore" + i + "deaths" )) {
score[i].deaths = PreviewLabs.PlayerPrefs.GetInt("highscore" + i + "deaths");
} else {
PreviewLabs.PlayerPrefs.SetInt("highscore" + i + "deaths" , score[i].deaths);
}
if (PreviewLabs.PlayerPrefs.HasKey("highscore" + i + "kills" )) {
score[i].kills = PreviewLabs.PlayerPrefs.GetInt("highscore" + i + "kills");
} else {
PreviewLabs.PlayerPrefs.SetInt("highscore" + i + "kills" , score[i].kills);
}
if (PreviewLabs.PlayerPrefs.HasKey("highscore" + i + "gameid" )) {
score[i].gameID = PreviewLabs.PlayerPrefs.GetInt("highscore" + i + "gameid");
} else {
PreviewLabs.PlayerPrefs.SetInt("highscore" + i + "gameid" , score[i].gameID);
}
}
PreviewLabs.PlayerPrefs.Flush();
}
}
}