I need to know why I’m getting a null reference exception in my method. Here’s the method:
public Texture2D lootRandomizer()
{
cItemClass item = new cItemClass();
Texture2D returnString = item.eEmptyIcon;
int randomNumber = Random.Range(0, 2);
switch (randomNumber)
{
case 0:
Debug.Log(randomNumber.ToString());
returnString = item.ehealingPotionIcon;
Debug.Log(returnString.ToString());
break;
case 1:
Debug.Log(randomNumber.ToString());
returnString = item.eswordIcon;
Debug.Log(returnString.ToString());
break;
case 2:
Debug.Log(randomNumber.ToString());
returnString = item.egunIcon;
Debug.Log(returnString.ToString());
break;
default:
returnString = item.healingPotion.icon;
break;
}
return returnString;
}
The item class its referencing to set the icons to is here:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class cItemClass : MonoBehaviour
{
public Texture2D eEmptyIcon;
public Texture2D eswordIcon;
public Texture2D ehealingPotionIcon;
public Texture2D egunIcon;
// icons for the GUI
static public Texture2D emptyIcon;
static public Texture2D swordIcon;
static public Texture2D healingPotionIcon;
static public Texture2D gunIcon;
//Create any new items here to be used
public ItemCreatorClass healingPotion = new ItemCreatorClass(0, "HealingPotion", healingPotionIcon, "A potion that heals 25 Health points");
public ItemCreatorClass sword = new ItemCreatorClass(1, "Sword", swordIcon, "A Sword to kill with");
public ItemCreatorClass gun = new ItemCreatorClass(2, "Gun", gunIcon, "A gun to kill with");
void Start()
{
emptyIcon = eEmptyIcon;
swordIcon = eswordIcon;
healingPotionIcon = ehealingPotionIcon;
gunIcon = egunIcon;
}
void Update()
{
}
public class ItemCreatorClass
{
public int Id;
public string name;
public Texture2D icon;
public string description;
public ItemCreatorClass(int id, string n, Texture2D t, string d)
{
Id = id;
name = n;
icon = t;
description = d;
}
}
}