GM と呼ぶゲームオブジェクトがあります。これに添付されているのは、ゲームのプライマリ論理コントローラーになることを意図したスクリプトです。
そのスクリプトのどこかに、次のものがあります。
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>
-サイコロはありません。
何か案は?