def _cancel(self) -> None: from ba.internal import set_music_play_mode from bastd.ui.soundtrack import browser as stb # Resets music back to normal. set_music_play_mode(ba.MusicPlayMode.REGULAR) ba.containerwidget(edit=self._root_widget, transition='out_right') ba.app.main_menu_window = (stb.SoundtrackBrowserWindow( transition='in_left').get_root_widget())
def _do_soundtracks(self) -> None: # pylint: disable=cyclic-import from bastd.ui.soundtrack import browser as stb # We require disk access for soundtracks; # if we don't have it, request it. if not _ba.have_permission(ba.Permission.STORAGE): ba.playsound(ba.getsound('ding')) ba.screenmessage(ba.Lstr(resource='storagePermissionAccessText'), color=(0.5, 1, 0.5)) ba.timer(1.0, ba.Call(_ba.request_permission, ba.Permission.STORAGE), timetype=ba.TimeType.REAL) return self._save_state() ba.containerwidget(edit=self._root_widget, transition='out_left') ba.app.main_menu_window = (stb.SoundtrackBrowserWindow( origin_widget=self._soundtrack_button).get_root_widget())
def _do_it(self) -> None: from bastd.ui.soundtrack import browser as stb music = ba.app.music cfg = ba.app.config new_name = cast(str, ba.textwidget(query=self._text_field)) if (new_name != self._soundtrack_name and new_name in cfg['Soundtracks']): ba.screenmessage( ba.Lstr(resource=self._r + '.cantSaveAlreadyExistsText')) ba.playsound(ba.getsound('error')) return if not new_name: ba.playsound(ba.getsound('error')) return if new_name == ba.Lstr(resource=self._r + '.defaultSoundtrackNameText').evaluate(): ba.screenmessage( ba.Lstr(resource=self._r + '.cantOverwriteDefaultText')) ba.playsound(ba.getsound('error')) return # Make sure config exists. if 'Soundtracks' not in cfg: cfg['Soundtracks'] = {} # If we had an old one, delete it. if (self._existing_soundtrack_name is not None and self._existing_soundtrack_name in cfg['Soundtracks']): del cfg['Soundtracks'][self._existing_soundtrack_name] cfg['Soundtracks'][new_name] = self._soundtrack cfg['Soundtrack'] = new_name cfg.commit() ba.playsound(ba.getsound('gunCocking')) ba.containerwidget(edit=self._root_widget, transition='out_right') # Resets music back to normal. music.set_music_play_mode(ba.MusicPlayMode.REGULAR, force_restart=True) ba.app.ui.set_main_menu_window( stb.SoundtrackBrowserWindow( transition='in_left').get_root_widget())