**self._common_btn)]
def on_play(self):
- scene_classes = []
+ scenes = []
for _file in glob('pmachines/scenes/*.py'):
_fn = _file.replace('.py', '').replace('/', '.')
for member in import_module(_fn).__dict__.values():
if isclass(member) and issubclass(member, Scene) and \
member != Scene:
- scene_classes += [member]
+ scenes += [member]
+ scenes = sorted(scenes, key=lambda elm: elm.sorting)
self.destroy()
self._cursor = MouseCursor(
'assets/buttons/arrowUpLeft.png', (.04, 1, .04), (.5, .5, .5, 1),
cmn = self._common_btn.copy() | {
'frameSize': (-2.4, 2.4, -2.4, 2.4),
'frameColor': (1, 1, 1, .8)}
- left = - (dx := .8) * (len(scene_classes) - 1) / 2
- for i, cls in enumerate(scene_classes):
+ left = - (dx := .8) * (len(scenes) - 1) / 2
+ for i, cls in enumerate(scenes):
self._widgets += [DirectButton(
text=cls.name(), pos=(left + dx * i, 1, .1), command=self.start,
extraArgs=[cls],