HELP --- Object reference not set to instance of an object.
Hey guys, well it looks like i've got a problem which i don't know what it is. the console panel gives me thos error: NullReferenceException: Object reference not set to an instance of an object: on line 66 but still i can't seem to know what exactly is the issue here.
Here's the code; skip to line 66 for the error line.
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
public class SaveLoad : MonoBehaviour {
void Start (){
//Loading ();
}
[System.Serializable]
public class SaveData
{
public List <Weapon> shopList = new List<Weapon> ();
public float money;
public int currentWeaponID;
}
public void Saving()
{
SaveData data = new SaveData ();
data.money = Manager.Currency.GetMoneyInfo ();
data.currentWeaponID = Manager.Currency.currentWeaponId;
//ADD ALL THE WEAPONS FROM THE WEAPONSHOP LIST
for (int i = 0; i < WeaponSystem.WeaponShop.WeaponsList.Count; i++)
{
data.shopList.Add (WeaponSystem.WeaponShop.WeaponsList[i]);
}
BinaryFormatter bf = new BinaryFormatter ();
FileStream stream = new FileStream (Application.persistentDataPath + "/Shop.Weapon", FileMode.Create);
bf.Serialize (stream, data);
stream.Close ();
print("SAVED");
}
public void Loading()
{
if (File.Exists (Application.persistentDataPath + "/Shop.Weapon"))
{
BinaryFormatter bf = new BinaryFormatter ();
FileStream stream = new FileStream (Application.persistentDataPath + "/Shop.Weapon", FileMode.Open);
SaveData data = (SaveData)bf.Deserialize (stream);
Manager.Currency.SetMoneyInfo (data.money);
Manager.Currency.currentWeaponId = data.currentWeaponID;
stream.Close ();
for (int i = 0; i < data.shopList.Count; i++)
{
//UPDATE THE SHOP
WeaponSystem.WeaponShop.WeaponsList [i] = data.shopList [i]; //Error is here.
//UPDATE ALL SPRITES
WeaponSystem.WeaponShop.UpdateSprite (WeaponSystem.WeaponShop.WeaponsList [i].WeaponID);
//UPDATE ALL BUTTONS
WeaponSystem.WeaponShop.UpdatBuyButtons ();
}
}
else
{
print ("No file found");
}
}
public void Delete()
{
if (File.Exists (Application.persistentDataPath + "/Shop.Weapon"))
{
File.Exists (Application.persistentDataPath + "/Shop.Weapon");
}
}
}
The error : ullReferenceException: Object reference not set to an instance of an object SaveLoad.Loading () (at Assets/Scripts/Shop/SaveLoad.cs:66)
Your answer
Follow this Question
Related Questions
How do I pass in a GameObject as a parameter when I'm instantiating a class? 0 Answers
How do I reset a static gameObject? 1 Answer
How to find the (original) Prefab of a GameObject? 2 Answers
How to add a script to a parent object and not every individual child object. 1 Answer
counting instances of an object 0 Answers