I'm new to unity and have a question regarding a segment of code I'm having trouble with. When I declare the object in the main script it properly renders the Blank sprite but when I try calling the PlaceMultiplier function it throws the NullReferenceException. Im hoping to get the fix and also learn from the explanation, thanks!
using UnityEngine; using System.Collections;
public class Die : MonoBehaviour {
public Sprite Dice1;
public Sprite Blank;
public Sprite Multiplier1;
public Sprite Multiplier2;
public Sprite Multiplier3;
public Sprite Multiplier4;
public Sprite Multiplier5;
public Sprite Multiplier6;
public Sprite Multiplier7;
public Sprite Multiplier8;
// Use this for initialization
void Start () {
if ((this != null)) {
this.gameObject.GetComponent<SpriteRenderer> ().sprite = Blank;
}
}
// Update is called once per frame
void Update () {
}
public void PlaceMultiplier(int multiple){
if (multiple == 2) {
this.gameObject.GetComponent<SpriteRenderer> ().sprite = Multiplier1;
}
if (multiple == 3) {
this.gameObject.GetComponent<SpriteRenderer> ().sprite = Multiplier2;
}
if (multiple == 7) {
this.gameObject.GetComponent<SpriteRenderer> ().sprite = Multiplier3;
}
if (multiple == 8) {
this.gameObject.GetComponent<SpriteRenderer> ().sprite = Multiplier4;
}
if (multiple == 9) {
this.gameObject.GetComponent<SpriteRenderer> ().sprite = Multiplier5;
}
if (multiple == 10) {
this.gameObject.GetComponent<SpriteRenderer> ().sprite = Multiplier6;
}
if (multiple == 15) {
this.gameObject.GetComponent<SpriteRenderer> ().sprite = Multiplier7;
}
if (multiple == 25) {
this.gameObject.GetComponent<SpriteRenderer> ().sprite = Multiplier8;
}
}
}