public void moveRole(roleModel role) { if (role.isOnBoat()) // from boat to land { landModel land; if (boat.getBoatFlag() == 1) { land = startLand; } else { land = endLand; } role.getOnLand(land); } else if (!role.isOnBoat()) //from land to boat { landModel land = role.getLand(); if (boat.getEmptyPosIndex() == -1 || boat.getBoatFlag() != land.getLandFlag()) { return; } role.getOnBoat(boat); } }
//change in v2 public void moveRole(roleModel role) { if (role.isOnBoat()) // from boat to land { landModel land; if (boat.getBoatFlag() == 1) { land = startLand; } else { land = endLand; } boat.deleteRole(role.getName()); //action Vector3 startPos = role.getPosition(); Vector3 endPos = land.getEmptyPosition(); Vector3 middlePos = new Vector3(startPos.x, endPos.y, startPos.z); actionManager.moveRole(role.getRole(), middlePos, endPos, 100 * Time.deltaTime); land.addRole(role); role.getOnLand(land); } else if (!role.isOnBoat()) //from land to boat { landModel land = role.getLand(); if (boat.getEmptyPosIndex() == -1 || boat.getBoatFlag() != land.getLandFlag()) { return; } land.deleteRole(role.getName()); //action Vector3 startPos = role.getPosition(); Vector3 endPos = boat.getEmptyPosition(); Vector3 middlePos = new Vector3(endPos.x, startPos.y, startPos.z); actionManager.moveRole(role.getRole(), middlePos, endPos, 100 * Time.deltaTime); boat.addRole(role); role.getOnBoat(boat); } }