import pygame from pocket_friends.elements import surface from pocket_friends._development._sprites import FunctionSelector import pocket_friends._development._dev as dev dev_functions = { 'Restart': 'reboot_system', 'Shutdown': 'shutdown_system', 'Update': 'update', 'Re-open App': 'restart_app', 'Black screen': 'show_black' } class Surface(surface.GameSurface): def __init__(self, game_res, resources_dir, game_fps, **kwargs): super().__init__(game_res, resources_dir, game_fps) self.frames = 1 self.game_fps = game_fps self.delay = 1 self.font = pygame.font.Font(resources_dir + '/fonts/5Pts5.ttf', 10) self.background = pygame.image.load(self.resource_dir + '/images/dev_menu/dev_bg.png').convert_alpha() functions = [] for key in dev_functions.keys(): functions.append(key) self.function_selector = FunctionSelector(resources_dir, game_res, functions) def execute(self): executing_function = getattr(dev, dev_functions.get(self.function_selector.get_function())) output = executing_function() if output == 'show_black': self.next_surface = '_black_screen' self.running = False def update(self): self.preprocess() text = self.font.render('f: {0}'.format(self.frames), False, (128, 128, 128)) self.blit(text, (3, 68)) self.function_selector.draw(self) self.frames += 1 self.frames %= self.game_fps for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.K_UP: self.function_selector.scroll_up() if event.key == pygame.K_DOWN: self.function_selector.scroll_down() if event.key == pygame.K_a: self.execute() if event.key == pygame.K_b: self.running = False