def act(self, player_name, player_color): map_file = self._get_selected_map() options = StartGameOptions.create_start_map(map_file) options.set_human_data(player_name, player_color) options.ai_players = self._aidata.get_ai_players() options.trader_enabled = self._game_settings.free_trader options.pirate_enabled = self._game_settings.pirates options.disasters_enabled = self._game_settings.disasters options.natural_resource_multiplier = self._game_settings.natural_resource_multiplier horizons.main.start_singleplayer(options)
def act(self, player_name, player_color): self.end() self._mainmenu.show_loading_screen() map_file = generate_random_map(*self._get_map_parameters()) options = StartGameOptions.create_start_map(map_file) options.set_human_data(player_name, player_color) options.ai_players = self._aidata.get_ai_players() options.trader_enabled = self._game_settings.free_trader options.pirate_enabled = self._game_settings.pirates options.disasters_enabled = self._game_settings.disasters options.natural_resource_multiplier = self._game_settings.natural_resource_multiplier horizons.main.start_singleplayer(options)
def start_single(self): """ Starts a single player horizons. """ assert self.current is self.widgets['singleplayermenu'] playername = self.current.playerdata.get_player_name() if not playername: self.show_popup(_("Invalid player name"), _("You entered an invalid playername.")) return playercolor = self.current.playerdata.get_player_color() self._save_player_name() if self.current.collectData('random'): map_file = self._get_random_map_file() else: assert self.active_right_side.collectData('maplist') != -1 map_file = self._get_selected_map() is_scenario = bool(self.current.collectData('scenario')) if not is_scenario: ai_players = int(self.current.aidata.get_ai_players()) horizons.globals.fife.set_uh_setting("AIPlayers", ai_players) horizons.globals.fife.save_settings() self.show_loading_screen() if is_scenario: try: options = StartGameOptions.create_start_scenario(map_file) options.set_human_data(playername, playercolor) horizons.main.start_singleplayer(options) except InvalidScenarioFileFormat as e: self._show_invalid_scenario_file_popup(e) self._select_single(show='scenario') else: # free play/random map options = StartGameOptions.create_start_map(map_file) options.set_human_data(playername, playercolor) options.ai_players = ai_players options.trader_enabled = self.widgets['game_settings'].findChild( name='free_trader').marked options.pirate_enabled = self.widgets['game_settings'].findChild( name='pirates').marked options.disasters_enabled = self.widgets[ 'game_settings'].findChild(name='disasters').marked options.natural_resource_multiplier = self._get_natural_resource_multiplier( ) horizons.main.start_singleplayer(options) ExtScheduler().rem_all_classinst_calls(self)
def start_single(self): """ Starts a single player horizons. """ assert self.current is self.widgets['singleplayermenu'] playername = self.current.playerdata.get_player_name() if not playername: self.show_popup(_("Invalid player name"), _("You entered an invalid playername.")) return playercolor = self.current.playerdata.get_player_color() self._save_player_name() if self.current.collectData('random'): map_file = self._get_random_map_file() else: assert self.active_right_side.collectData('maplist') != -1 map_file = self._get_selected_map() is_scenario = bool(self.current.collectData('scenario')) if not is_scenario: ai_players = int(self.current.aidata.get_ai_players()) horizons.globals.fife.set_uh_setting("AIPlayers", ai_players) horizons.globals.fife.save_settings() self.mainmenu.show_loading_screen() if is_scenario: try: options = StartGameOptions.create_start_scenario(map_file) options.set_human_data(playername, playercolor) horizons.main.start_singleplayer(options) except InvalidScenarioFileFormat as e: self._show_invalid_scenario_file_popup(e) self._select_single(show='scenario') else: # free play/random map options = StartGameOptions.create_start_map(map_file) options.set_human_data(playername, playercolor) options.ai_players = ai_players options.trader_enabled = self.widgets['game_settings'].findChild(name='free_trader').marked options.pirate_enabled = self.widgets['game_settings'].findChild(name='pirates').marked options.disasters_enabled = self.widgets['game_settings'].findChild(name='disasters').marked options.natural_resource_multiplier = self._get_natural_resource_multiplier() horizons.main.start_singleplayer(options) ExtScheduler().rem_all_classinst_calls(self)