The current game I am making saves and loads constantly to nodes. In doing so, I find that I can always save my Nodes once per run. after that I cannot. here is a sniplet.
//Main Class
if (GUIAP.NextGUI() == true) {
GUIAP.SaveBNODE();GUIAP.SaveUNODE();
GUIState = GUIstate.MovePhase;
}
//Attack Class
//LoadUnits
public void LoadWorld() {
/** Load a Node from a .j3o file /
String userHome = System.getProperty(“user.home”);
assetManager.registerLocator(userHome, FileLocator.class);
Node loadedNode = (Node) assetManager.loadModel("/BuildingNode.j3o");
loadedNode.setName(“Buildings”);
Buildings = loadedNode;
Objects.attachChild(Buildings);
System.out.println(“LoadWorld”);
}
public void LoadUnits() {
/* Load a Node from a .j3o file /
String userHome = System.getProperty(“user.home”);
assetManager.registerLocator(userHome, FileLocator.class);
Units = (Node) assetManager.loadModel("/PlayerNodeReady.j3o");
Units.setName(“PlayerNode”);
Objects.attachChild(Units);
for (int i = 0; i < Units.getQuantity(); i++) {
Units.getChild(i).setUserData(“hasAttacked”, false);
System.out.print(Units.getChild(i).getWorldTranslation());
System.out.print(Units.getChild(i).getLocalTranslation());
System.out.print("ChildhasMovedFalse " + i);
}
Troop.attachChild(Units.getChild(0));
Troop.getChild(0).setName(“TEST”);
//World.attachChild(Troop.getChild(0)s);
Arrow = assetManager.loadModel(“Scenes/Arrow.j3o”);
World.attachChild(Arrow);
Arrow.setLocalTranslation(0, -15, 0);
cam.lookAt(new Vector3f(0, 0, 0), Vector3f.UNIT_Y);
System.out.println(“LoadUnits”);
}
//Save Units and Building Placements
public void SaveUNODE() {
/* Save a Node to a .j3o file. /
String userHome = System.getProperty(“user.home”);
BinaryExporter exporter = BinaryExporter.getInstance();
File file = new File(userHome + “/PlayerNodeReady.j3o”);
try {
exporter.save(Units, file);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, “Error: Failed to save game!”, ex);
}}
public void SaveBNODE() {
/* Save a Node to a .j3o file. /
String userHome = System.getProperty(“user.home”);
BinaryExporter exporter = BinaryExporter.getInstance();
File file = new File(userHome + “/BuildingNode.j3o”);
try {
exporter.save(Buildings, file);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, “Error: Failed to save game!”, ex);
}
}
//Move Class
public void LoadWorld() {
/* Load a Node from a .j3o file /
String userHome = System.getProperty(“user.home”);
assetManager.registerLocator(userHome, FileLocator.class);
Node loadedNode = (Node) assetManager.loadModel("/BuildingNode.j3o");
loadedNode.setName(“Buildings”);
Buildings = loadedNode;
Objects.attachChild(Buildings);
System.out.println(“LoadWorld”);
}
public void LoadUnits() {
/* Load a Node from a .j3o file /
String userHome = System.getProperty(“user.home”);
assetManager.registerLocator(userHome, FileLocator.class);
Units = (Node) assetManager.loadModel("/PlayerNodeReady.j3o");
Units.setName(“PlayerNode”);
Objects.attachChild(Units);
for (int i = 0; i < Units.getQuantity(); i++) {
Units.getChild(i).setUserData(“hasMoved”, false);
System.out.print(Units.getChild(i).getWorldTranslation());
System.out.print(Units.getChild(i).getLocalTranslation());
System.out.print("ChildhasMovedFalse " + i);
}
Troop.attachChild(Units.getChild(0));
Troop.getChild(0).setName(“TEST”);
//World.attachChild(Troop.getChild(0)s);
Arrow = assetManager.loadModel(“Scenes/Arrow.j3o”);
World.attachChild(Arrow);
Arrow.setLocalTranslation(0, -15, 0);
cam.lookAt(new Vector3f(0, 0, 0), Vector3f.UNIT_Y);
System.out.println(“LoadUnits”);
}
public void SaveUNODE() {
/* Save a Node to a .j3o file. /
String userHome = System.getProperty(“user.home”);
BinaryExporter exporter = BinaryExporter.getInstance();
File file = new File(userHome + “/PlayerNodeReady.j3o”);
try {
exporter.save(Units, file);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, “Error: Failed to save game!”, ex);
}}
public void SaveBNODE() {
/* Save a Node to a .j3o file. */
String userHome = System.getProperty(“user.home”);
BinaryExporter exporter = BinaryExporter.getInstance();
File file = new File(userHome + “/BuildingNode.j3o”);
try {
exporter.save(Buildings, file);
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, “Error: Failed to save game!”, ex);
}
}
Now I actually add the models to the rootNode via Get/set methods within the call to the mainClass. Its when I unload models and load into a new part of the game the Models to not accept any movement changes.
Now I actually add the models to the rootNode via Get/set methods within the call to the mainClass. Its when I unload models and load into a new part of the game the Models to not accept any movement changes.