Save Node Works then Does not work

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.