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):
        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)