class Scene(DirectObject):
- def __init__(self, world, exit_cb, auto_close_instr, dbg_items, reload_cb, scenes, pos_mgr, testing, mouse_coords):
+ scenes_done = []
+
+ def __init__(self, world, exit_cb, auto_close_instr, dbg_items, reload_cb, scenes, pos_mgr, testing, mouse_coords, persistent):
super().__init__()
self._world = world
self._exit_cb = exit_cb
self._scenes = scenes
self._start_evt_time = None
self._enforce_res = ''
+ self.__persistent = persistent
self.accept('enforce_res', self.enforce_res)
self._set_camera()
self._cursor = MouseCursor(
def name():
return ''
+ @classmethod
+ def is_done(cls):
+ return bool([(name, version) for name, version in cls.scenes_done if cls.__name__ == name and cls.version == version])
+
def _instr_txt(self):
return ''
self._pos_mgr.register('close_instructions', LibP3d.wdg_pos(btn))
def _set_win(self):
+ self.__persistent.save_scene(self.__class__.__name__, self.version)
loader.load_sfx('assets/audio/sfx/success.ogg').play()
self._paused = True
self.__store_state()