class Config: SaveManager.load_profile('config', 'config.json') @staticmethod def init(): pygame.display.set_mode(SaveManager.get_entry('config', 'resolution'), Config.get_flags()) pygame.display.set_caption(SaveManager.get_entry('config', 'title')) if SaveManager.has_entry('config', 'icon'): Config.set_icon(SaveManager.get_entry('config', 'icon')) @staticmethod def get_flags(): flags = 0 if SaveManager.get_entry('config', 'fullscreen'): flags |= pygame.FULLSCREEN return flags @staticmethod def set_caption(text): SaveManager.set_entry('config', 'title', text) return text @staticmethod def get_caption(): return SaveManager.get_entry('config', 'title') @staticmethod def set_resolution(width, height): SaveManager.set_entry('config', 'resolution', [width, height]) pygame.display.set_mode((width, height), Config.get_flags()) return width, height @staticmethod def get_resolution(): return SaveManager.get_entry('config', 'resolution') @staticmethod def set_width(width): SaveManager.set_entry('config', 'resolution', [width, Config.get_height()]) @staticmethod def set_height(height): SaveManager.set_entry('config', 'resolution', [Config.get_width(), height]) @staticmethod def get_width(): return SaveManager.get_entry('config', 'resolution')[0] @staticmethod def get_height(): return SaveManager.get_entry('config', 'resolution')[1] @staticmethod def set_fullscreen(value): SaveManager.set_entry('config', 'fullscreen', value) pygame.display.set_mode(SaveManager.get_entry('config', 'resolution'), Config.get_flags()) return value @staticmethod def set_icon(path): SaveManager.set_entry('config', 'icon', path) pygame.display.set_icon(pygame.image.load(path).convert_alpha())
from engine.initialize_engine import Config from engine.scene_manager import SceneManager import pygame import sys from engine.input_manager import InputManager from engine.save_manager import SaveManager from engine.gui import GUI from user_components import NetworkingController, ChatController from scene_loader import load_scene from guis import MainMenuGUI SaveManager.load_profile('preferences', 'user_prefs.json') Config.set_resolution(*SaveManager.get_entry('preferences', 'resolution')) Config.set_fullscreen(SaveManager.get_entry('preferences', 'fullscreen')) GUI.set_cursor(SaveManager.get_entry('config', 'cursor')) InputManager.set_axis('Horizontal', { SaveManager.get_entry('preferences', 'right'): 1, SaveManager.get_entry('preferences', 'left'): -1, }) InputManager.set_axis('Vertical', { SaveManager.get_entry('preferences', 'up'): 1, SaveManager.get_entry('preferences', 'down'): -1, }) load_scene('scenes/main_menu.json')