def add_move_buttons(): x = 230 y = 280 GUI.add_element( Label( (Config.get_width() // 2 - x, Config.get_height() // 2 - y + 75), 32, 'Change control keys', pygame.Color('white'), 'fonts/Dot.ttf', 'lbl_change_keys')) GUI.add_element( MedievalButton( (Config.get_width() // 2 - x, Config.get_height() // 2 - y + 75 * 2), 'Move up: {}'.format( pygame.key.name(SaveManager.get_entry('preferences', 'up'))), 29, 'btn_mvup', SettingsGUI.change_button, 'up')) GUI.add_element( MedievalButton( (Config.get_width() // 2 - x, Config.get_height() // 2 - y + 75 * 3), 'Move down: {}'.format( pygame.key.name( SaveManager.get_entry('preferences', 'down'))), 29, 'btn_mvdown', SettingsGUI.change_button, 'down')) GUI.add_element( MedievalButton( (Config.get_width() // 2 - x, Config.get_height() // 2 - y + 75 * 4), 'Move left: {}'.format( pygame.key.name( SaveManager.get_entry('preferences', 'left'))), 29, 'btn_mvleft', SettingsGUI.change_button, 'left')) GUI.add_element( MedievalButton( (Config.get_width() // 2 - x, Config.get_height() // 2 - y + 75 * 5), 'Move right: {}'.format( pygame.key.name( SaveManager.get_entry('preferences', 'right'))), 29, 'btn_mvright', SettingsGUI.change_button, 'right'))
def load_scene(self): from scene_loader import load_scene GUI.del_element('house') SaveManager.set_entry('village1', 'plr_coord', self._player.transform.coord) load_scene('scenes/house1.json') if SaveManager.get_entry('village1', 'seen_tardis'): SceneManager.current_scene.remove_object( SceneManager.current_scene.find_object('tardis'))
def update(self, *args): for event in InputManager.get_events(): if event.type == pygame.KEYDOWN: if event.key not in list(InputManager.AXES['Horizontal']) + list(InputManager.AXES['Vertical']) or \ event.key == SaveManager.get_entry('preferences', self.name): direction = 'Horizontal' if self.name in ( 'left', 'right') else 'Vertical' axis = InputManager.AXES[direction] axis[event.key] = axis.pop( SaveManager.get_entry('preferences', self.name)) InputManager.set_axis(direction, axis) SaveManager.set_entry('preferences', self.name, event.key) self.button.text = 'Move {}: {}'.format( self.name, pygame.key.name( SaveManager.get_entry('preferences', self.name))) SceneManager.current_scene.remove_object(self.game_object)
def init(): GUI.add_element( Image((Config.get_width() // 2, Config.get_height() // 2 + 40), load_image('images/bg.png'), 'bg_img')) SettingsGUI.add_move_buttons() SettingsGUI.add_resolutions_buttons() GUI.add_element( MedievalCheckbox( 'toggle_fullscreen', (Config.get_width() // 2 + 230, Config.get_height() // 2 + 230), 'Toggle Fullscreen', 29, SaveManager.get_entry('preferences', 'fullscreen'), SettingsGUI.toggle_fullscreen)) GUI.add_element( MedievalButton( (Config.get_width() // 2, Config.get_height() // 2 + 280), 'Close', 29, 'close_settings', SettingsGUI.exit))
def set_fullscreen(value): SaveManager.set_entry('config', 'fullscreen', value) pygame.display.set_mode(SaveManager.get_entry('config', 'resolution'), Config.get_flags()) return value
def get_height(): return SaveManager.get_entry('config', 'resolution')[1]
def get_width(): return SaveManager.get_entry('config', 'resolution')[0]
def get_resolution(): return SaveManager.get_entry('config', 'resolution')
def get_caption(): return SaveManager.get_entry('config', 'title')
def get_flags(): flags = 0 if SaveManager.get_entry('config', 'fullscreen'): flags |= pygame.FULLSCREEN return flags
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'))
[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()) InputManager.set_max_fps(SaveManager.get_entry('config', 'fps')) Config.init()
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')
def load_scene(self): from scene_loader import load_scene GUI.del_element('enter_village') load_scene('scenes/scene1.json') SceneManager.current_scene.find_object('player').transform.move_to( *SaveManager.get_entry('village1', 'plr_coord'))