def update_state(self): if self.state == STATE_STARTING: self.gc_runner = GameCenterRunner(controller=self.controller) # prepare will unpack the game and prepare game files self.gc_runner.prepare() self.state = STATE_PREPARING self.throbber.throbber_start_time = 0 elif self.state == STATE_PREPARING: if self.gc_runner.error: pass elif self.gc_runner.done: self.wait_run_time = State.get().time FadeDialog(self.wait_run_time).show() self.state = STATE_WAITRUN elif self.state == STATE_WAITRUN: if State.get().time - self.wait_run_time > FADE_TIME: set_ingame_status() self.gc_runner.run() self.state = STATE_RUNNING elif self.state == STATE_RUNNING: InputHandler.set_inhibited(True) if self.gc_runner.error: pass elif self.gc_runner.done: self.state = STATE_STOPPING elif self.state == STATE_STOPPING: InputHandler.set_inhibited(False) State.get().history.pop() State.get().history.pop() State.get().history.pop() set_current_menu(State.get().history[-1]) back_to_menu_from_game() Dialog.get_current().close() from arcade.glui.window import main_window main_window.restore_window_if_necessary() elif self.state == STATE_ABORTING: pass
class LaunchMenu(Menu): def __init__(self, item, controller): Menu.__init__(self) # self.top_menu_transition = 0.0 self.items.append(item) if self.use_game_center_item(): self.top.left.append(GameCenterItem()) self.top.left.append(HomeItem()) self.top.left.append(MenuItem(item.title)) self.state = STATE_STARTING self.gc_runner = None self.controller = controller self.throbber = Throbber() def on_status(self, status): print("received status", status) def update_state(self): if self.state == STATE_STARTING: self.gc_runner = GameCenterRunner(controller=self.controller) # prepare will unpack the game and prepare game files self.gc_runner.prepare() self.state = STATE_PREPARING elif self.state == STATE_PREPARING: if self.gc_runner.error: pass elif self.gc_runner.done: FadeDialog().show() set_ingame_status() self.gc_runner.run() self.state = STATE_RUNNING elif self.state == STATE_RUNNING: InputHandler.set_inhibited(True) if self.gc_runner.error: pass elif self.gc_runner.done: self.state = STATE_STOPPING elif self.state == STATE_STOPPING: InputHandler.set_inhibited(False) State.get().history.pop() State.get().history.pop() State.get().history.pop() set_current_menu(State.get().history[-1]) back_to_menu_from_game() Dialog.get_current().close() from arcade.glui.window import main_window main_window.restore_window_if_necessary() elif self.state == STATE_ABORTING: pass def go_back(self): print("LaunchMenu.go_back") if self.state in [STATE_STARTING, STATE_PREPARING]: if self.gc_runner: self.gc_runner.abort() self.state = STATE_ABORTING if self.state in [STATE_ABORTED]: State.get().history.pop() set_current_menu(State.get().history[-1]) def activate(self): print("LaunchMenu.activate") def update(self): self.update_state() def render(self): if self.state in [STATE_PREPARING]: self.throbber.render()
class LaunchMenu(Menu): def __init__(self, item, controller): Menu.__init__(self) # self.top_menu_transition = 0.0 self.items.append(item) if self.use_game_center_item(): self.top.left.append(GameCenterItem()) # self.top.left.append(HomeItem()) # self.top.left.append(MenuItem(item.title)) self.top.set_selected_index( len(self.top.left) + len(self.top.right) - 1) self.state = STATE_STARTING self.gc_runner = None self.controller = controller self.throbber = Throbber() self.wait_run_time = 0 # noinspection PyMethodMayBeStatic def on_status(self, status): print("received status", status) def update_state(self): if self.state == STATE_STARTING: self.gc_runner = GameCenterRunner(controller=self.controller) # prepare will unpack the game and prepare game files self.gc_runner.prepare() self.state = STATE_PREPARING self.throbber.throbber_start_time = 0 elif self.state == STATE_PREPARING: if self.gc_runner.error: pass elif self.gc_runner.done: self.wait_run_time = State.get().time FadeDialog(self.wait_run_time).show() self.state = STATE_WAITRUN elif self.state == STATE_WAITRUN: if State.get().time - self.wait_run_time > FADE_TIME: set_ingame_status() self.gc_runner.run() self.state = STATE_RUNNING elif self.state == STATE_RUNNING: InputHandler.set_inhibited(True) if self.gc_runner.error: pass elif self.gc_runner.done: self.state = STATE_STOPPING elif self.state == STATE_STOPPING: InputHandler.set_inhibited(False) State.get().history.pop() State.get().history.pop() State.get().history.pop() set_current_menu(State.get().history[-1]) back_to_menu_from_game() Dialog.get_current().close() from arcade.glui.window import main_window main_window.restore_window_if_necessary() elif self.state == STATE_ABORTING: pass def go_back(self): print("LaunchMenu.go_back") if self.state in [STATE_STARTING, STATE_PREPARING]: if self.gc_runner: self.gc_runner.abort() self.state = STATE_ABORTING if self.state in [STATE_ABORTED]: State.get().history.pop() set_current_menu(State.get().history[-1]) def activate(self): print("LaunchMenu.activate") def update(self): self.update_state() def render(self): Render.get().hd_perspective() fs_emu_texturing(True) fs_emu_blending(False) Texture.sidebar_background.render(0, 0, 1920, Texture.sidebar_background.h) if self.state in [STATE_PREPARING, STATE_WAITRUN]: self.throbber.render()
class LaunchMenu(Menu): def __init__(self, item, controller): Menu.__init__(self) # self.top_menu_transition = 0.0 self.items.append(item) if self.use_game_center_item(): self.top.left.append(GameCenterItem()) # self.top.left.append(HomeItem()) # self.top.left.append(MenuItem(item.title)) self.top.set_selected_index( len(self.top.left) + len(self.top.right) - 1 ) self.state = STATE_STARTING self.gc_runner = None self.controller = controller self.throbber = Throbber() self.wait_run_time = 0 # noinspection PyMethodMayBeStatic def on_status(self, status): print("received status", status) def update_state(self): if self.state == STATE_STARTING: self.gc_runner = GameCenterRunner(controller=self.controller) # prepare will unpack the game and prepare game files self.gc_runner.prepare() self.state = STATE_PREPARING self.throbber.throbber_start_time = 0 elif self.state == STATE_PREPARING: if self.gc_runner.error: pass elif self.gc_runner.done: self.wait_run_time = State.get().time FadeDialog(self.wait_run_time).show() self.state = STATE_WAITRUN elif self.state == STATE_WAITRUN: if State.get().time - self.wait_run_time > FADE_TIME: set_ingame_status() self.gc_runner.run() self.state = STATE_RUNNING elif self.state == STATE_RUNNING: InputHandler.set_inhibited(True) if self.gc_runner.error: pass elif self.gc_runner.done: self.state = STATE_STOPPING elif self.state == STATE_STOPPING: InputHandler.set_inhibited(False) State.get().history.pop() State.get().history.pop() State.get().history.pop() set_current_menu(State.get().history[-1]) back_to_menu_from_game() Dialog.get_current().close() from arcade.glui.window import main_window main_window.restore_window_if_necessary() elif self.state == STATE_ABORTING: pass def go_back(self): print("LaunchMenu.go_back") if self.state in [STATE_STARTING, STATE_PREPARING]: if self.gc_runner: self.gc_runner.abort() self.state = STATE_ABORTING if self.state in [STATE_ABORTED]: State.get().history.pop() set_current_menu(State.get().history[-1]) def activate(self): print("LaunchMenu.activate") def update(self): self.update_state() def render(self): Render.get().hd_perspective() fs_emu_texturing(True) fs_emu_blending(False) Texture.sidebar_background.render( 0, 0, 1920, Texture.sidebar_background.h ) if self.state in [STATE_PREPARING, STATE_WAITRUN]: self.throbber.render()