package electrosphere.game.config; import electrosphere.main.Globals; import electrosphere.util.FileLoadingUtils; /** * * @author amaterasu */ public class UserSettings { // //Gameplay settings // boolean gameplayGenerateWorld; // //Display settings // int displayWidth; int displayHeight; // //Graphics settings // //general float graphicsFOV; //performance boolean graphicsPerformanceEnableVSync; boolean graphicsPerformanceDrawShadows; //debug boolean graphicsDebugDrawCollisionSpheres; boolean graphicsDebugDrawPhysicsObjects; boolean graphicsDebugDrawMovementVectors; public boolean gameplayGenerateWorld() { return gameplayGenerateWorld; } public int getDisplayWidth() { return displayWidth; } public int getDisplayHeight() { return displayHeight; } public float getGraphicsFOV() { return graphicsFOV; } public boolean graphicsPerformanceEnableVSync() { return graphicsPerformanceEnableVSync; } public boolean graphicsPerformanceDrawShadows() { return graphicsPerformanceDrawShadows; } public boolean graphicsDebugDrawCollisionSpheres() { return graphicsDebugDrawCollisionSpheres; } public boolean graphicsDebugDrawPhysicsObjects() { return graphicsDebugDrawPhysicsObjects; } public boolean graphicsDebugDrawMovementVectors() { return graphicsDebugDrawMovementVectors; } static UserSettings getDefault(){ UserSettings rVal = new UserSettings(); //display settings rVal.displayHeight = 1080; rVal.displayWidth = 1920; //gameplay settings rVal.gameplayGenerateWorld = true; //graphics settings rVal.graphicsDebugDrawCollisionSpheres = false; rVal.graphicsDebugDrawMovementVectors = false; rVal.graphicsDebugDrawPhysicsObjects = false; rVal.graphicsFOV = 90.0f; rVal.graphicsPerformanceDrawShadows = true; rVal.graphicsPerformanceEnableVSync = true; return rVal; } public static void loadUserSettings(){ Globals.userSettings = FileLoadingUtils.loadObjectFromAssetPath("/Config/settings.json", UserSettings.class); if(Globals.userSettings == null){ Globals.userSettings = getDefault(); } Globals.WINDOW_WIDTH = Globals.userSettings.displayWidth; Globals.WINDOW_HEIGHT = Globals.userSettings.displayHeight; Globals.FOV = Globals.userSettings.graphicsFOV; } }