前提・実現したいこと
C# unity です。
Get component メソッドを使い他のクラスのメソッドを呼び出したのですが、null referenceエラーがUnity実行中に出てしまいました。
どうしたら解決できるでしょう?
発生している問題・エラーメッセージ
NullReferenceException: Object reference not set to an instance of an object
c#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using System.Linq; 5 6 7 8public class CreateSlotScript : MonoBehaviour 9{ 10 11 [SerializeField] 12 private ItemDataBase itemDataBase; 13 [SerializeField] 14 private ItemManager itemManager; 15 16 private void Start() 17 { 18 SlotMaker(itemDataBase.GetWeponLists()); 19 20 } 21 22 private void SlotMaker(IEnumerable<WeponDate>weponDates) 23 { 24 foreach(var numbers in weponDates.OrderBy<WeponDate,int>(x => x.GetobjectNumber())) 25 { 26 //この中身が武器カテゴリのナンバー順に行われます。 27 int objectnumber = numbers.GetobjectNumber(); 28 // エラーはこの行から出てます。 29 int HowMany = GetComponent<ItemManager>().GetHowManyWeponByNumber(objectnumber); 30 31 for (int i=0;i<HowMany;++i) 32 {//この中身が各武器の所持数分行われます。 33 Debug.Log(numbers.GetItemName()); 34 } 35 36 } 37 } 38} 39
試したこと
Unity 側で、ItemManagerをアタッチしても同じ行にエラーが出ます。
恐らくItemManagerのところがNullなんだと思うのですが、解決策がわかりません。
どうかお力添えをお願いします。
回答2件
あなたの回答
tips
プレビュー