Full error:
NullReferenceException: Object reference not set to an instance of an object
LoadGameData.LoadData () (at Assets/Skrypt/LoadGameData.cs:55)
LoadGameData.Start () (at Assets/Skrypt/LoadGameData.cs:19)
code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Xml;
using UnityEngine.UI;
public class LoadGameData : MonoBehaviour
{
public TextAsset GameData;
public GameObject ShopPrefab;
public GameObject StorePanel;
public void Start()
{
LoadData();
}
public void LoadData()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(GameData.text);
XmlNodeList StoreList = xmlDoc.GetElementsByTagName("store");
foreach (XmlNode StoreInfo in StoreList)
{
GameObject NewStore = (GameObject)Instantiate(ShopPrefab);
store storeobj = NewStore.GetComponent<store>();
XmlNodeList StoreNodes = StoreInfo.ChildNodes;
foreach (XmlNode StoreNode in StoreNodes)
{
if (StoreNode.Name == "name")
{
Text StoreText = NewStore.transform.Find("StoreNameText").GetComponent<Text>();
StoreText.text = StoreNode.InnerText;
}
if (StoreNode.Name == "image")
{
Sprite newSprite = Resources.Load<Sprite>(StoreNode.InnerText);
Image StoreImage = NewStore.transform.Find("ImageButtonClick").GetComponent<Image>();
StoreImage.sprite = newSprite;
}
if (StoreNode.Name == "BaseStoreProfit")
storeobj.BaseStoreProfit = float.Parse(StoreNode.InnerText);
if (StoreNode.Name == "BaseStoreCost")
storeobj.BaseStoreCost = float.Parse(StoreNode.InnerText);
if (StoreNode.Name == "StoreTimer")
storeobj.StoreTimer = float.Parse(StoreNode.InnerText);
}
NewStore.transform.SetParent(StorePanel.transform);
}
}
}