-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpg_menu.py
111 lines (80 loc) · 2.85 KB
/
pg_menu.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import pygame
import pygame_menu as pgm
from random import randrange
pygame.init()
surface = pygame.display.set_mode((600, 500))
audio = False
results = {}
results["username"] = str(randrange(0, 100000))
results["local"] = True
results["ip"] = "192.168.1.1"
results["audio"] = False
results["fullscreen"] = False
results["GFX"] = True
results["project"] = False
results["admin"] = False
results["downscale"] = False
def set_username(value: str):
results["username"] = value
def set_ip(value: str):
results["ip"] = value
def set_network(value, n_status):
results["local"] = n_status
if n_status:
username_widget.hide()
ip_widget.hide()
admin_widget.hide()
projector_widget.hide()
audio_widget.hide()
gfx_widget.hide()
else:
username_widget.show()
ip_widget.show()
admin_widget.show()
projector_widget.show()
audio_widget.show()
gfx_widget.show()
def set_audio(value, audio_status):
results["audio"] = audio_status
def set_gfx(value, gfx_status):
results["GFX"] = gfx_status
def set_downscale(value, scale_status):
results["downscale"] = scale_status
def set_fullscreen(value, f_status):
results["fullscreen"] = f_status
def set_projector(value, p_status):
results["project"] = p_status
if p_status:
admin_widget.hide()
username_widget.hide()
else:
admin_widget.show()
username_widget.show()
def set_admin(value, a_status):
results["admin"] = a_status
def quit_menu():
exit()
menu = pgm.Menu('ALTAR config', 600, 500,
theme=pgm.themes.THEME_DARK, onclose=pgm.events.CLOSE)
menu.add.selector('Network Config :', [('SINGLE PLAYER', True), ('MULTIPLAYER', False)], onchange=set_network)
username_widget = menu.add.text_input('Username :', default=results["username"], onchange=set_username)
ip_widget = menu.add.text_input('IP :', default=results["ip"], onchange=set_ip)
projector_widget = menu.add.selector('Projector Mode :', [('Off', False), ('On', True)], onchange=set_projector)
admin_widget = menu.add.selector('Admin :', [('Off', False), ('On', True)], onchange=set_admin)
audio_widget = menu.add.selector('Audio :', [('Off', False), ('On', True)], onchange=set_audio)
gfx_widget = menu.add.selector('GFX :', [('On', True), ('Off', False)], onchange=set_gfx)
downscale_widget = menu.add.selector('Downscale :', [('Off', False), ('On', True)], onchange=set_downscale)
menu.add.selector('Fullscreen :', [('Off', False), ('On', True)], onchange=set_fullscreen)
menu.add.button('Play', menu.close)
menu.add.button('Quit', quit_menu)
def run_menu() -> dict:
username_widget.hide()
ip_widget.hide()
admin_widget.hide()
projector_widget.hide()
audio_widget.hide()
gfx_widget.hide()
menu.mainloop(surface)
return results
if __name__ == "__main__":
run_menu()