diff --git a/doc/AIHasznalat.md b/doc/AIHasznalat.md index 1b8f531..d1b9f04 100644 --- a/doc/AIHasznalat.md +++ b/doc/AIHasznalat.md @@ -13,4 +13,7 @@ Teljesen AI-generált szakaszokat egy `# !!! CHATGPT !!!` komment jelzi * NineSlicesPanel ### battle_data.py -* csata függvények \ No newline at end of file +* csata függvények + +## Dokumentáció +Ezen a fájlon kívül minden dokumentáció AI generálta. \ No newline at end of file diff --git a/doc/MenuItem.md b/doc/MenuItem.md index 5afc455..f8e708b 100644 --- a/doc/MenuItem.md +++ b/doc/MenuItem.md @@ -26,7 +26,8 @@ MenuItem( up, down, action, - data=None + data=None, + back_func=None ) ``` @@ -59,6 +60,9 @@ MenuItem( - `data` (`any`, opcionális) A kiválasztáskor az akciónak átadott adat. +- `back_func` (`callable`) + A menüpont kiválasztásakor meghívandó függvény. + --- ## Attribútumok @@ -97,6 +101,24 @@ def start_game(data): print("Játék indul!") ``` +--- + +### Vissza + +```python +self.back +``` + +A visszalépés során meghívandó függvény. + +Példa: + +```python +def vissza(data): + open_menu() +``` + + --- ### Adat @@ -105,7 +127,7 @@ def start_game(data): self.data ``` -A menüelemhez kapcsolódó opcionális adat, amelyet az akciófüggvény paraméterként kap meg. +A menüelemhez kapcsolódó opcionális adat, amelyet az akció- és visszafüggvény paraméterként kap meg. Példa: diff --git a/src/menu.py b/src/menu.py index f8d4a98..0b1faa4 100644 --- a/src/menu.py +++ b/src/menu.py @@ -5,12 +5,13 @@ 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): + 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 @@ -30,6 +31,10 @@ class MenuItem: 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