あるJavaプログラム/クラスでシリアル化可能なオブジェクトのインスタンスを宣言してから、別のプログラム/クラスで内部オブジェクトの定義を完全に繰り返し、データファイルから大きな複雑なオブジェクトをロードすることは可能ですか?目標は、ビルドマシンにローカルに保存されているアイテムのエディターを作成し、ゲーム自体を作成して、ゲームをプレイしたい人に配布できるようにすることです。
私は趣味のプロジェクトとしてJavaでゲームを書いています。私のゲーム内には、親クラスであるGameItemを拡張するクラスのファミリーがあります。アイテムは、HealingPotion、Bomb、KeyItemなどのさまざまなファミリにある可能性があります。
class GameItem implements Serializable {
String ItemName
String ImageResourceLocation
....}
私がやりたいのは、特定のアイテムファミリーの各アイテムを作成する方法の定義を含めることですが、ゲームをプレイするときに発生する可能性のあるすべてのアイテムを含むGameItemListという大きなクラスがあります。
class GameItemList implements Serializable {
LinkedList<GameItem>gameItemList;
//methods here like LookUpByName, LookUpByIndex that return references to an item
}
おそらくある時点で、プレーヤーが新しいゲームを開始するとき、またはゲームが起動するときに、次のようなことを行います。
//create itemList
FileInputStream fileIn = new FileInputStream("items.dat");
ObjectInputStream in = new ObjectInputStream(fileIn);
GameItemList allItems = (GameItemList)in.readObject();
in.close();
//Now I have an object called allItems that can be used for lookups.
みんなありがとう、コメントや助けをいただければ幸いです。