1 from ya2
.utils
.gui
.base_page
import BasePage
, ButtonInfo
4 class PlayPage(BasePage
):
6 def __init__(self
, page_info
, scenes
, start_scene
):
8 self
.__start
_scene
= start_scene
9 super().__init
__(page_info
)
11 def _build_widgets(self
):
12 left
= - (dx
:= .8) * (min(4, len(self
.__scenes
)) - 1) / 2
13 from pmachines
.scene
.scene
import Scene
14 for i
, scene_name
in enumerate(self
.__scenes
):
15 top
= .1 if len(self
.__scenes
) < 5 else .6
16 row
= 0 if i
< 4 else 1
18 id=scene_name
.lower(),
19 text
=Scene
.name(scene_name
),
20 pos
=(left
+ dx
* (i
% 4), top
- dx
* row
),
21 command
=self
.__start
_scene
,
22 command_args
=[scene_name
],
24 texture
='assets/images/scenes/%s.dds' % scene_name
,
25 size
=(-2.4, 2.4, -2.4, 2.4),
27 color
=(1, 1, 1, .4) if Scene
.is_done(scene_name
) else (1, 1, 1, .8),
28 text_color
=(.9, .9, .9, .4) if Scene
.is_done(scene_name
) else (.9, .9, .9, 1))
29 self
._add
_button
(i
, True)
30 back_button
= ButtonInfo(
34 command
=self
._set
_page
,
35 command_args
=['main'])
36 self
._add
_button
(back_button
)