Archived
Añadimos singletons y otros pequeños cambios.
This commit is contained in:
@@ -1,9 +1,58 @@
|
||||
package uberelectron.gameSystems;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.files.FileHandle;
|
||||
|
||||
public class GameManager
|
||||
{
|
||||
public GameManager()
|
||||
//TODO: Añadir precios de sala y de Maquina a los JSON.
|
||||
private static GameManager instance;
|
||||
|
||||
private final String savePath = "save/";
|
||||
private final String internalDataPath = "data/";
|
||||
|
||||
public MachineLoader mcLoader;
|
||||
public RoomLoader rmLoader;
|
||||
public Save saveData;
|
||||
|
||||
private GameManager()
|
||||
{
|
||||
mcLoader = MachineLoader.getInstance();
|
||||
rmLoader = RoomLoader.getInstance();
|
||||
|
||||
saveData = new Save();
|
||||
}
|
||||
|
||||
public static GameManager getInstance()
|
||||
{
|
||||
if(instance == null)
|
||||
{
|
||||
instance = new GameManager();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
* Realiza el guardado del save y de las salas.
|
||||
*/
|
||||
public void SaveGame()
|
||||
{
|
||||
SaveLoader.SaveToJSON(saveData, Gdx.files.local(savePath + "save.json"));
|
||||
rmLoader.SaveAllRoomsToJSON();
|
||||
}
|
||||
|
||||
public void ReiniciarRoom(String roomID)
|
||||
{
|
||||
FileHandle prefab = Gdx.files.internal(internalDataPath + roomID + ".json");
|
||||
FileHandle roomSave = Gdx.files.local(savePath + roomID + ".json");
|
||||
prefab.copyTo(roomSave);
|
||||
}
|
||||
|
||||
public void ComprarRoom(String roomID)
|
||||
{
|
||||
ReiniciarRoom(roomID);
|
||||
saveData.dinero -= 1000;
|
||||
|
||||
}
|
||||
|
||||
@@ -11,9 +60,4 @@ public class GameManager
|
||||
|
||||
|
||||
|
||||
public static MachineLoader mcLoader;
|
||||
public static RoomLoader rmLoader;
|
||||
public static Save saveData;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,13 +2,10 @@ package uberelectron.gameSystems;
|
||||
|
||||
public class LoginSystem
|
||||
{
|
||||
public LoginSystem()
|
||||
{
|
||||
|
||||
}
|
||||
private LoginSystem() {}
|
||||
|
||||
/***
|
||||
* Pertime autentificar a un usuario dado su archivo de datos.
|
||||
* Permite autentificar a un usuario dado su archivo de datos.
|
||||
* @return True si la autentificación es correcta. False si no.
|
||||
*/
|
||||
public static boolean AutentificarUsuario()
|
||||
@@ -18,7 +15,7 @@ public class LoginSystem
|
||||
|
||||
/***
|
||||
* Indica si el usuario se ha autentificado correctamente.
|
||||
* @return true si el usuario está autentificado. False si no lo está.
|
||||
* @return True si el usuario está autentificado. False si no lo está.
|
||||
*/
|
||||
public static boolean isIsLogged() { return isLogged; }
|
||||
|
||||
|
||||
@@ -23,15 +23,28 @@ import java.util.HashMap;
|
||||
*/
|
||||
public class MachineLoader
|
||||
{
|
||||
private static MachineLoader instance;
|
||||
|
||||
|
||||
/*-------------
|
||||
* Constructors
|
||||
* -------------*/
|
||||
|
||||
public MachineLoader()
|
||||
private MachineLoader()
|
||||
{
|
||||
machineMap = new HashMap<>();
|
||||
}
|
||||
|
||||
public static MachineLoader getInstance()
|
||||
{
|
||||
if(instance == null)
|
||||
{
|
||||
instance = new MachineLoader();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
/*-------------
|
||||
* Methods
|
||||
* -------------*/
|
||||
|
||||
@@ -27,9 +27,6 @@ public class Room
|
||||
public Room()
|
||||
{
|
||||
//Hay que instanciar las cosas que no se instancian en el JSON.
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
|
||||
@@ -27,26 +27,23 @@ import java.util.Map;
|
||||
*/
|
||||
public class RoomLoader
|
||||
{
|
||||
public RoomLoader()
|
||||
private static RoomLoader instance;
|
||||
|
||||
public static RoomLoader getInstance()
|
||||
{
|
||||
currentRoom = null;
|
||||
loadedRooms = new HashMap<>();
|
||||
|
||||
mcLoader = null;
|
||||
Gdx.app.log("RoomLoader", "Se ha cargado con mcLoader = null");
|
||||
|
||||
loaderJson = new Json();
|
||||
|
||||
loaderJson.setSerializer(Room.class, roomSerializer);
|
||||
|
||||
if (instance == null)
|
||||
{
|
||||
instance = new RoomLoader();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
public RoomLoader(MachineLoader mcLoader)
|
||||
private RoomLoader()
|
||||
{
|
||||
currentRoom = null;
|
||||
loadedRooms = new HashMap<>();
|
||||
|
||||
this.mcLoader = mcLoader;
|
||||
mcLoader = MachineLoader.getInstance();
|
||||
|
||||
loaderJson = new Json();
|
||||
|
||||
@@ -90,6 +87,18 @@ public class RoomLoader
|
||||
Gdx.app.log("RoomLoader", "Se ha guardado la room " + roomID + " en " + file);
|
||||
}
|
||||
|
||||
/***
|
||||
* Guarda en JSON todas las salas cargadas.
|
||||
*/
|
||||
public void SaveAllRoomsToJSON()
|
||||
{
|
||||
for(Room r : loadedRooms.values())
|
||||
{
|
||||
FileHandle file = Gdx.files.local("save/" + r.roomName + ".json");
|
||||
SaveRoomToJSON(r.roomName, file);
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* Descarga una Room dado su ID.
|
||||
* @param roomID ID de la Room a descargar.
|
||||
|
||||
@@ -7,10 +7,7 @@ import com.badlogic.gdx.utils.JsonWriter;
|
||||
|
||||
public class SaveLoader
|
||||
{
|
||||
public SaveLoader()
|
||||
{
|
||||
|
||||
}
|
||||
private SaveLoader() {}
|
||||
|
||||
/***
|
||||
* Permite cargar los datos de una partida desde un archivo JSON.
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.logging.FileHandler;
|
||||
public class BackEndTest implements Screen
|
||||
{
|
||||
final testGame game;
|
||||
public static MachineLoader mcLoader = new MachineLoader();
|
||||
public static MachineLoader mcLoader = MachineLoader.getInstance();
|
||||
|
||||
/***
|
||||
* Clase para la realización de pruebas del BackEnd.
|
||||
@@ -46,7 +46,6 @@ public class BackEndTest implements Screen
|
||||
---- MachineLoader Tests.
|
||||
*/
|
||||
|
||||
mcLoader = new MachineLoader();
|
||||
mcLoader.LoadFromJSON(Gdx.files.internal("data/testMachines.json"));
|
||||
// mcLoader.AddMachine(testMach);
|
||||
// mcLoader.AddMachine(mach2);
|
||||
@@ -60,7 +59,7 @@ public class BackEndTest implements Screen
|
||||
/*
|
||||
------ RoomLoader Tests
|
||||
*/
|
||||
RoomLoader rmLoader = new RoomLoader(mcLoader);
|
||||
RoomLoader rmLoader = RoomLoader.getInstance();
|
||||
rmLoader.LoadRoomFromJSON(Gdx.files.internal("data/testRoom.json"));
|
||||
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.badlogic.gdx.Game;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||
import uberelectron.gameSystems.GameManager;
|
||||
import uberelectron.gameSystems.MachineLoader;
|
||||
import uberelectron.gameSystems.RoomLoader;
|
||||
import uberelectron.gameSystems.TileSetManager;
|
||||
@@ -25,8 +26,8 @@ public class testGame extends Game
|
||||
batch = new SpriteBatch();
|
||||
font = new BitmapFont();
|
||||
tileSetManager = new TileSetManager();
|
||||
mcLoader = new MachineLoader();
|
||||
rmLoader = new RoomLoader(mcLoader);
|
||||
|
||||
GameManager gm = GameManager.getInstance();
|
||||
|
||||
LoadAssets();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user