53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
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'
|
|
}
|
|
|
|
|
|
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.bg = 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()))
|
|
executing_function()
|
|
|
|
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
|