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