def __init__(self, cog_h, engine, orb): self.cog_h = cog_h self.engine = engine self.orb = orb # self.track_prime_console = orb.track(TrackPrimeConsole) # self.rail_menu = RailMenu()
class CogToMenu: def __init__(self, cog_h, engine, orb): self.cog_h = cog_h self.engine = engine self.orb = orb # self.track_prime_console = orb.track(TrackPrimeConsole) # self.rail_menu = RailMenu() def on_init(self): console_type = self.track_prime_console.console_type height = self.track_prime_console.height width = self.track_prime_console.width # rail_h = '%s/menu' % (self.cog_h) self.rail_menu.zero( rail_h=rail_h, cb_menu_selection=self.cb_menu_selection, cb_menu_asks_display_to_clear=self.cb_menu_asks_display_to_clear, cb_menu_asks_display_to_write=self.cb_menu_asks_display_to_write, height=self.track_prime_console.height, width=self.track_prime_console.width, title=APP_NAME) self.rail_menu.add_menu_item(menu_keycode=MENU_KEYCODE_NEW_GAME, text='new game') self.rail_menu.add_menu_item(menu_keycode=MENU_KEYCODE_QUIT, text='quit') self.nearcast.menu_focus() def on_menu_focus(self): self.rail_menu.render_menu() def on_menu_select(self, menu_keycode): d = { MENU_KEYCODE_NEW_GAME: self._mi_new_game, MENU_KEYCODE_CONTINUE: self._mi_continue, MENU_KEYCODE_QUIT: self._mi_quit } if menu_keycode not in d: return fn = d[menu_keycode] fn() def on_game_new(self): if not self.rail_menu.has_menu_keycode(MENU_KEYCODE_CONTINUE): self.rail_menu.add_menu_item(menu_keycode=MENU_KEYCODE_CONTINUE, text='continue') # def cb_menu_selection(self, cs_menu_selection): rail_h = cs_menu_selection.rail_h keycode = cs_menu_selection.keycode # self.nearcast.menu_select(menu_keycode=keycode) def cb_menu_asks_display_to_clear(self, cs_menu_asks_display_to_clear): rail_h = cs_menu_asks_display_to_clear.rail_h # self.nearcast.term_clear() def cb_menu_asks_display_to_write(self, cs_menu_asks_display_to_write): rail_h = cs_menu_asks_display_to_write.rail_h drop = cs_menu_asks_display_to_write.drop rest = cs_menu_asks_display_to_write.rest s = cs_menu_asks_display_to_write.s # self.nearcast.term_write(drop=drop, rest=rest, s=s, cpair=solent_cpair('blue')) # def _mi_new_game(self): self.nearcast.game_new() self.nearcast.game_focus() def _mi_continue(self): self.nearcast.game_focus() def _mi_quit(self): raise SolentQuitException()