import arcade import assets import text import controls # Választható menüelem több menüelem közt, ha nincs valamelyik irányba másik menüelem, az irányra None értéket adunk class MenuItem: def __init__(self, label, x, y, left, right, up, down, action, data=None, back_func=None): self.left = left self.right = right self.up = up self.down = down self.action = action self.back = back_func self.data = data self.x = x self.y = y self.text = text.TextRenderer(x, y) self.selected = False self.text.reset(label) self.text.type_all() def select(self): self.selected = True def update(self): if not self.selected: return if controls.is_control_pressed(4) and self.action: # Választ self.action(self.data) return if controls.is_control_pressed(5) and self.back: # Vissza self.back(self.data) return if controls.is_control_pressed(0) and self.up: # Fel controls.depress(0) self.selected = False self.up.select() elif controls.is_control_pressed(1) and self.down: # Le controls.depress(1) self.selected = False self.down.select() elif controls.is_control_pressed(2) and self.left: # Bal controls.depress(2) self.selected = False self.left.select() elif controls.is_control_pressed(3) and self.right: # Jobb controls.depress(3) self.selected = False self.right.select() def render(self): self.text.render() if self.selected: arcade.draw_texture_rect( assets.sprites["cursor"], arcade.LBWH(self.x - 16, self.y - 6, 16, 16), pixelated=True )