我有一个我们称之为 GM 的 GameObject。附加到它的是一个脚本,该脚本旨在成为游戏的主要逻辑控制器。
在那个脚本的某个地方,我有:
private dbEquipment equipment_database = new dbEquipment();
来自 dbEquipment.cs 的相关片段:
public class dbEquipment {
private int total_items = 13;
private clEquipment[] _master_equipment_list;
public dbEquipment() {
_master_equipment_list = new clEquipment[total_items];
_master_equipment_list[0] = new clEquipment {
... //large amount of object initializing here
};
... //etc, for all 13 items
}
}
当我运行 Unity 时,我得到:
NullReferenceException: Object reference not set to an instance of an object
指向行:
_master_equipment_list[0] = new clEquipment { ...
我尝试遍历数组并将每个 clEquipment 对象初始化为一个空的 clEquipment() 首先:
for(int x = 0; x < total_items; x++) { _master_equipment_list[x] = new clEquipment(); }
只是为了完全确定数组实际上已被填充,但我得到了相同的结果。
我还尝试将其更改为List<clEquipment>
,并适当地更改所有内容-没有骰子。
有任何想法吗?