本文整理汇总了Python中horizons.entities.Entities.load方法的典型用法代码示例。如果您正苦于以下问题:Python Entities.load方法的具体用法?Python Entities.load怎么用?Python Entities.load使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类horizons.entities.Entities
的用法示例。
在下文中一共展示了Entities.load方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from horizons.entities import Entities [as 别名]
# 或者: from horizons.entities.Entities import load [as 别名]
def __init__(self, db, rng_seed=None, ingame_gui_class=IngameGui):
super(Session, self).__init__()
assert isinstance(db, horizons.util.uhdbaccessor.UhDbAccessor)
self.log.debug("Initing session")
self.db = db # main db for game data (game.sql)
# this saves how often the current game has been saved
self.savecounter = 0
self.is_alive = True
self._clear_caches()
#game
self.random = self.create_rng(rng_seed)
assert isinstance(self.random, Random)
self.timer = self.create_timer()
Scheduler.create_instance(self.timer)
self.manager = self.create_manager()
self.view = View()
Entities.load(self.db)
self.scenario_eventhandler = ScenarioEventHandler(self) # dummy handler with no events
#GUI
self._ingame_gui_class = ingame_gui_class
self.selected_instances = set()
# List of sets that holds the player assigned unit groups.
self.selection_groups = [set()] * 10
self._old_autosave_interval = None
示例2: __init__
# 需要导入模块: from horizons.entities import Entities [as 别名]
# 或者: from horizons.entities.Entities import load [as 别名]
def __init__(self, db, rng_seed=None):
"""
Unfortunately, right now there is no other way to setup Dummy versions of the GUI,
View etc., unless we want to patch the references in the session module.
"""
super(LivingObject, self).__init__()
self.gui = Dummy()
self.db = db
self.savecounter = 0 # this is a new game.
self.is_alive = True
WorldObject.reset()
NamedObject.reset()
AIPlayer.clear_caches()
# Game
self.current_tick = 0
self.random = self.create_rng(rng_seed)
self.timer = self.create_timer()
Scheduler.create_instance(self.timer)
ExtScheduler.create_instance(Dummy)
self.manager = self.create_manager()
self.view = Dummy()
self.view.renderer = Dummy()
Entities.load(self.db)
self.scenario_eventhandler = Dummy()
self.campaign = {}
self.selected_instances = []
# GUI
self.gui.session = self
self.ingame_gui = Dummy()
GAME_SPEED.TICKS_PER_SECOND = 16
示例3: __init__
# 需要导入模块: from horizons.entities import Entities [as 别名]
# 或者: from horizons.entities.Entities import load [as 别名]
def __init__(self, gui, db):
super(Session, self).__init__()
self.log.debug("Initing session")
self.gui = gui # main gui, not ingame gui
self.db = db # main db for game data (game.sqlite)
# this saves how often the current game has been saved
self.savecounter = 0
self.is_alive = True
WorldObject.reset()
NamedObject.reset()
#game
self.random = self.create_rng()
self.timer = Timer()
Scheduler.create_instance(self.timer)
self.manager = self.create_manager()
self.view = View(self, (15, 15))
Entities.load(self.db)
self.scenario_eventhandler = ScenarioEventHandler(self) # dummy handler with no events
self.campaign = {}
#GUI
self.gui.session = self
self.ingame_gui = IngameGui(self, self.gui)
self.keylistener = IngameKeyListener(self)
self.display_speed()
self.selected_instances = set()
self.selection_groups = [set()] * 10 # List of sets that holds the player assigned unit groups.
示例4: __init__
# 需要导入模块: from horizons.entities import Entities [as 别名]
# 或者: from horizons.entities.Entities import load [as 别名]
def __init__(self, gui, db, rng_seed=None):
super(Session, self).__init__()
assert isinstance(db, horizons.util.uhdbaccessor.UhDbAccessor)
self.log.debug("Initing session")
self.gui = gui # main gui, not ingame gui
self.db = db # main db for game data (game.sql)
# this saves how often the current game has been saved
self.savecounter = 0
self.is_alive = True
self._clear_caches()
#game
self.random = self.create_rng(rng_seed)
assert isinstance(self.random, Random)
self.timer = self.create_timer()
Scheduler.create_instance(self.timer)
self.manager = self.create_manager()
self.view = View(self)
Entities.load(self.db)
self.scenario_eventhandler = ScenarioEventHandler(self) # dummy handler with no events
self.campaign = {}
#GUI
self.gui.session = self
self.ingame_gui = IngameGui(self, self.gui)
self.keylistener = IngameKeyListener(self)
self.coordinates_tooltip = None
self.display_speed()
LastActivePlayerSettlementManager.create_instance(self)
self.status_icon_manager = StatusIconManager(
renderer=self.view.renderer['GenericRenderer'],
layer=self.view.layers[LAYERS.OBJECTS]
)
self.production_finished_icon_manager = None
self.create_production_finished_icon_manager()
self.selected_instances = set()
self.selection_groups = [set() for _ in range(10)] # List of sets that holds the player assigned unit groups.
self._old_autosave_interval = None
示例5: __init__
# 需要导入模块: from horizons.entities import Entities [as 别名]
# 或者: from horizons.entities.Entities import load [as 别名]
def __init__(self, gui, db, rng_seed=None):
super(Session, self).__init__()
assert isinstance(gui, Gui)
assert isinstance(db, horizons.util.uhdbaccessor.UhDbAccessor)
self.log.debug("Initing session")
self.gui = gui # main gui, not ingame gui
self.db = db # main db for game data (game.sql)
# this saves how often the current game has been saved
self.savecounter = 0
self.is_alive = True
self.message_bus = MessageBus()
# misc
WorldObject.reset()
NamedComponent.reset()
AIPlayer.clear_caches()
#game
self.random = self.create_rng(rng_seed)
assert isinstance(self.random, Random)
self.timer = self.create_timer()
Scheduler.create_instance(self.timer)
self.manager = self.create_manager()
self.view = View(self)
Entities.load(self.db)
self.scenario_eventhandler = ScenarioEventHandler(self) # dummy handler with no events
self.campaign = {}
#GUI
self.gui.session = self
self.ingame_gui = IngameGui(self, self.gui)
self.keylistener = IngameKeyListener(self)
self.coordinates_tooltip = None
self.display_speed()
LastActivePlayerSettlementManager.create_instance(self)
self.status_icon_manager = StatusIconManager(self)
self.selected_instances = set()
self.selection_groups = [set()] * 10 # List of sets that holds the player assigned unit groups.
示例6: __init__
# 需要导入模块: from horizons.entities import Entities [as 别名]
# 或者: from horizons.entities.Entities import load [as 别名]
def __init__(self, db, rng_seed=None):
"""
Unfortunately, right now there is no other way to setup Dummy versions of the GUI,
View etc., unless we want to patch the references in the session module.
"""
super(LivingObject, self).__init__()
self.gui = Dummy()
self.db = db
self.savecounter = 0 # this is a new game.
self.is_alive = True
WorldObject.reset()
NamedComponent.reset()
AIPlayer.clear_caches()
# Game
self.random = self.create_rng(rng_seed)
self.timer = self.create_timer()
Scheduler.create_instance(self.timer)
ExtScheduler.create_instance(Dummy)
self.manager = self.create_manager()
self.view = Dummy()
self.view.renderer = Dummy()
Entities.load(self.db)
self.scenario_eventhandler = Dummy()
self.campaign = {}
self.message_bus = MessageBus()
self.status_icon_manager = StatusIconManager(self)
# GUI
self.gui.session = self
self.ingame_gui = Dummy()
LastActivePlayerSettlementManager.create_instance(self)
self.selected_instances = set()
self.selection_groups = [set()] * 10 # List of sets that holds the player assigned unit groups.
GAME_SPEED.TICKS_PER_SECOND = 16
示例7: start
# 需要导入模块: from horizons.entities import Entities [as 别名]
# 或者: from horizons.entities.Entities import load [as 别名]
def start(_command_line_arguments):
"""Starts the horizons. Will drop you to the main menu.
@param _command_line_arguments: options object from optparse.OptionParser. see run_uh.py.
"""
global fife, db, debug, preloading, command_line_arguments
command_line_arguments = _command_line_arguments
# NOTE: globals are designwise the same thing as singletons. they don't look pretty.
# here, we only have globals that are either trivial, or only one instance may ever exist.
from engine import Fife
# handle commandline globals
debug = command_line_arguments.debug
if command_line_arguments.restore_settings:
# just delete the file, Settings ctor will create a new one
os.remove( PATHS.USER_CONFIG_FILE )
if command_line_arguments.mp_master:
try:
mpieces = command_line_arguments.mp_master.partition(':')
NETWORK.SERVER_ADDRESS = mpieces[0]
# only change port if port is specified
if len(mpieces[2]) > 0:
NETWORK.SERVER_PORT = parse_port(mpieces[2], allow_zero=True)
except ValueError:
print "Error: Invalid syntax in --mp-master commandline option. Port must be a number between 1 and 65535."
return False
if command_line_arguments.generate_minimap: # we've been called as subprocess to generate a map preview
from horizons.gui.modules.singleplayermenu import MapPreview
MapPreview.generate_minimap( * json.loads(
command_line_arguments.generate_minimap
) )
sys.exit(0)
# init fife before mp_bind is parsed, since it's needed there
fife = Fife()
if command_line_arguments.mp_bind:
try:
mpieces = command_line_arguments.mp_bind.partition(':')
NETWORK.CLIENT_ADDRESS = mpieces[0]
fife.set_uh_setting("NetworkPort", parse_port(mpieces[2], allow_zero=True))
except ValueError:
print "Error: Invalid syntax in --mp-bind commandline option. Port must be a number between 1 and 65535."
return False
if command_line_arguments.ai_highlights:
AI.HIGHLIGHT_PLANS = True
if command_line_arguments.human_ai:
AI.HUMAN_AI = True
# set singleplayer natural resource seed
if command_line_arguments.nature_seed:
SINGLEPLAYER.SEED = command_line_arguments.nature_seed
# set MAX_TICKS
if command_line_arguments.max_ticks:
GAME.MAX_TICKS = command_line_arguments.max_ticks
db = _create_main_db()
# init game parts
_init_gettext(fife)
client_id = fife.get_uh_setting("ClientID")
if client_id is None or len(client_id) == 0:
# We need a new client id
client_id = "".join("-" if c in (8, 13, 18, 23) else \
random.choice("0123456789abcdef") for c in xrange(0, 36))
fife.set_uh_setting("ClientID", client_id)
fife.save_settings()
# Install gui logger, needs to be done before instanciating Gui, otherwise we miss
# the events of the main menu buttons
if command_line_arguments.log_gui:
if command_line_arguments.gui_test:
raise Exception("Logging gui interactions doesn't work when running tests.")
try:
from tests.gui.logger import setup_gui_logger
setup_gui_logger()
except ImportError:
import traceback
traceback.print_exc()
print
print "Gui logging requires code that is only present in the repository and is not being installed."
return False
# GUI tests always run with sound disabled and SDL (so they can run under xvfb).
# Needs to be done before engine is initialized.
if command_line_arguments.gui_test:
fife.engine.getSettings().setRenderBackend('SDL')
fife.set_fife_setting('PlaySounds', False)
ExtScheduler.create_instance(fife.pump)
fife.init()
_modules.gui = Gui()
SavegameManager.init()
#.........这里部分代码省略.........
示例8: start
# 需要导入模块: from horizons.entities import Entities [as 别名]
# 或者: from horizons.entities.Entities import load [as 别名]
def start(_command_line_arguments):
"""Starts the horizons. Will drop you to the main menu.
@param _command_line_arguments: options object from optparse.OptionParser. see run_uh.py.
"""
global debug, preloading, command_line_arguments
command_line_arguments = _command_line_arguments
# NOTE: globals are designwise the same thing as singletons. they don't look pretty.
# here, we only have globals that are either trivial, or only one instance may ever exist.
from engine import Fife
# handle commandline globals
debug = command_line_arguments.debug
if command_line_arguments.restore_settings:
# just delete the file, Settings ctor will create a new one
os.remove( PATHS.USER_CONFIG_FILE )
if command_line_arguments.mp_master:
try:
mpieces = command_line_arguments.mp_master.partition(':')
NETWORK.SERVER_ADDRESS = mpieces[0]
# only change port if port is specified
if mpieces[2]:
NETWORK.SERVER_PORT = parse_port(mpieces[2])
except ValueError:
print "Error: Invalid syntax in --mp-master commandline option. Port must be a number between 1 and 65535."
return False
# init fife before mp_bind is parsed, since it's needed there
horizons.globals.fife = Fife()
if command_line_arguments.generate_minimap: # we've been called as subprocess to generate a map preview
from horizons.gui.modules.singleplayermenu import generate_random_minimap
generate_random_minimap( * json.loads(
command_line_arguments.generate_minimap
) )
sys.exit(0)
if debug: # also True if a specific module is logged (but not 'fife')
if not (command_line_arguments.debug_module
and 'fife' not in command_line_arguments.debug_module):
horizons.globals.fife._log.logToPrompt = True
if command_line_arguments.debug_log_only:
# This is a workaround to not show fife logs in the shell even if
# (due to the way the fife logger works) these logs will not be
# redirected to the UH logfile and instead written to a file fife.log
# in the current directory. See #1782 for background information.
horizons.globals.fife._log.logToPrompt = False
horizons.globals.fife._log.logToFile = True
if horizons.globals.fife.get_uh_setting("DebugLog"):
set_debug_log(True, startup=True)
if command_line_arguments.mp_bind:
try:
mpieces = command_line_arguments.mp_bind.partition(':')
NETWORK.CLIENT_ADDRESS = mpieces[0]
horizons.globals.fife.set_uh_setting("NetworkPort", parse_port(mpieces[2]))
except ValueError:
print "Error: Invalid syntax in --mp-bind commandline option. Port must be a number between 1 and 65535."
return False
if command_line_arguments.ai_highlights:
AI.HIGHLIGHT_PLANS = True
if command_line_arguments.ai_combat_highlights:
AI.HIGHLIGHT_COMBAT = True
if command_line_arguments.human_ai:
AI.HUMAN_AI = True
# set MAX_TICKS
if command_line_arguments.max_ticks:
GAME.MAX_TICKS = command_line_arguments.max_ticks
atlas_generator = None
horizons_path = os.path.dirname(horizons.__file__)
if VERSION.IS_DEV_VERSION and horizons.globals.fife.get_uh_setting('AtlasesEnabled') \
and horizons.globals.fife.get_uh_setting('AtlasGenerationEnabled') \
and command_line_arguments.atlas_generation \
and not command_line_arguments.gui_test:
args = [sys.executable, os.path.join(horizons_path, 'engine', 'generate_atlases.py'),
str(horizons.globals.fife.get_uh_setting('MaxAtlasSize'))]
atlas_generator = subprocess.Popen(args, stdout=None, stderr=subprocess.STDOUT)
# init game parts
# Install gui logger, needs to be done before instantiating Gui, otherwise we miss
# the events of the main menu buttons
if command_line_arguments.log_gui:
if command_line_arguments.gui_test:
raise Exception("Logging gui interactions doesn't work when running tests.")
try:
from tests.gui.logger import setup_gui_logger
setup_gui_logger()
except ImportError:
traceback.print_exc()
print
print "Gui logging requires code that is only present in the repository and is not being installed."
return False
#.........这里部分代码省略.........
示例9: start
# 需要导入模块: from horizons.entities import Entities [as 别名]
# 或者: from horizons.entities.Entities import load [as 别名]
def start(_command_line_arguments):
"""Starts the horizons. Will drop you to the main menu.
@param _command_line_arguments: options object from optparse.OptionParser. see run_uh.py.
"""
global debug, preloading, command_line_arguments
command_line_arguments = _command_line_arguments
# NOTE: globals are designwise the same thing as singletons. they don't look pretty.
# here, we only have globals that are either trivial, or only one instance may ever exist.
from engine import Fife
# handle commandline globals
debug = command_line_arguments.debug
if command_line_arguments.enable_atlases:
# check if atlas files are outdated
if atlases_need_rebuild():
print "Atlases have to be rebuild."
if command_line_arguments.restore_settings:
# just delete the file, Settings ctor will create a new one
os.remove( PATHS.USER_CONFIG_FILE )
if command_line_arguments.mp_master:
try:
mpieces = command_line_arguments.mp_master.partition(':')
NETWORK.SERVER_ADDRESS = mpieces[0]
# only change port if port is specified
if mpieces[2]:
NETWORK.SERVER_PORT = parse_port(mpieces[2])
except ValueError:
print "Error: Invalid syntax in --mp-master commandline option. Port must be a number between 1 and 65535."
return False
if command_line_arguments.generate_minimap: # we've been called as subprocess to generate a map preview
from horizons.gui.modules.singleplayermenu import MapPreview
MapPreview.generate_minimap( * json.loads(
command_line_arguments.generate_minimap
) )
sys.exit(0)
# init fife before mp_bind is parsed, since it's needed there
horizons.globals.fife = Fife()
if debug: # also True if a specific module is logged (but not 'fife')
if not (command_line_arguments.debug_module
and 'fife' not in command_line_arguments.debug_module):
horizons.globals.fife._log.lm.setLogToPrompt(True)
# After the next FIFE release, we should use this instead which is possible as of r3960:
# horizons.globals.fife._log.logToPrompt = True
if command_line_arguments.debug_log_only:
# This is a workaround to not show fife logs in the shell even if
# (due to the way the fife logger works) these logs will not be
# redirected to the UH logfile and instead written to a file fife.log
# in the current directory. See #1782 for background information.
horizons.globals.fife._log.lm.setLogToPrompt(False)
horizons.globals.fife._log.lm.setLogToFile(True)
# same as above applies here, use property after next FIFE release
if command_line_arguments.mp_bind:
try:
mpieces = command_line_arguments.mp_bind.partition(':')
NETWORK.CLIENT_ADDRESS = mpieces[0]
horizons.globals.fife.set_uh_setting("NetworkPort", parse_port(mpieces[2]))
except ValueError:
print "Error: Invalid syntax in --mp-bind commandline option. Port must be a number between 1 and 65535."
return False
if command_line_arguments.ai_highlights:
AI.HIGHLIGHT_PLANS = True
if command_line_arguments.ai_combat_highlights:
AI.HIGHLIGHT_COMBAT = True
if command_line_arguments.human_ai:
AI.HUMAN_AI = True
# set MAX_TICKS
if command_line_arguments.max_ticks:
GAME.MAX_TICKS = command_line_arguments.max_ticks
horizons.globals.db = _create_main_db()
# init game parts
# Install gui logger, needs to be done before instantiating Gui, otherwise we miss
# the events of the main menu buttons
if command_line_arguments.log_gui:
if command_line_arguments.gui_test:
raise Exception("Logging gui interactions doesn't work when running tests.")
try:
from tests.gui.logger import setup_gui_logger
setup_gui_logger()
except ImportError:
traceback.print_exc()
print
print "Gui logging requires code that is only present in the repository and is not being installed."
return False
# GUI tests always run with sound disabled and SDL (so they can run under xvfb).
# Needs to be done before engine is initialized.
#.........这里部分代码省略.........
示例10: start
# 需要导入模块: from horizons.entities import Entities [as 别名]
# 或者: from horizons.entities.Entities import load [as 别名]
def start(_command_line_arguments):
"""Starts the horizons. Will drop you to the main menu.
@param _command_line_arguments: options object from optparse.OptionParser. see run_uh.py.
"""
global debug, preloading, command_line_arguments
command_line_arguments = _command_line_arguments
# NOTE: globals are designwise the same thing as singletons. they don't look pretty.
# here, we only have globals that are either trivial, or only one instance may ever exist.
from engine import Fife
# handle commandline globals
debug = command_line_arguments.debug
if command_line_arguments.restore_settings:
# just delete the file, Settings ctor will create a new one
os.remove(PATHS.USER_CONFIG_FILE)
if command_line_arguments.mp_master:
try:
mpieces = command_line_arguments.mp_master.partition(":")
NETWORK.SERVER_ADDRESS = mpieces[0]
# only change port if port is specified
if mpieces[2]:
NETWORK.SERVER_PORT = parse_port(mpieces[2])
except ValueError:
print "Error: Invalid syntax in --mp-master commandline option. Port must be a number between 1 and 65535."
return False
# init fife before mp_bind is parsed, since it's needed there
horizons.globals.fife = Fife()
if command_line_arguments.generate_minimap: # we've been called as subprocess to generate a map preview
from horizons.gui.modules.singleplayermenu import generate_random_minimap
generate_random_minimap(*json.loads(command_line_arguments.generate_minimap))
sys.exit(0)
if debug: # also True if a specific module is logged (but not 'fife')
setup_debug_mode(command_line_arguments)
if horizons.globals.fife.get_uh_setting("DebugLog"):
set_debug_log(True, startup=True)
if command_line_arguments.mp_bind:
try:
mpieces = command_line_arguments.mp_bind.partition(":")
NETWORK.CLIENT_ADDRESS = mpieces[0]
horizons.globals.fife.set_uh_setting("NetworkPort", parse_port(mpieces[2]))
except ValueError:
print "Error: Invalid syntax in --mp-bind commandline option. Port must be a number between 1 and 65535."
return False
setup_AI_settings(command_line_arguments)
# set MAX_TICKS
if command_line_arguments.max_ticks:
GAME.MAX_TICKS = command_line_arguments.max_ticks
preload_lock = threading.Lock()
if (
command_line_arguments.atlas_generation
and not command_line_arguments.gui_test
and VERSION.IS_DEV_VERSION
and horizons.globals.fife.get_uh_setting("AtlasesEnabled")
and horizons.globals.fife.get_uh_setting("AtlasGenerationEnabled")
):
atlas_loading_thread = None
atlas_loading_thread = AtlasLoadingThread(preload_lock)
atlas_loading_thread.start()
# show info label about atlas generation
try:
import Tkinter
from PIL import Image, ImageTk
import time
try:
window = Tkinter.Tk()
# iconify window instead of closing
window.protocol("WM_DELETE_WINDOW", window.iconify)
window.wm_withdraw()
window.attributes("-topmost", 1)
window.title("Unknown Horizons")
window.maxsize(300, 150)
logo = Image.open(horizons.constants.PATHS.UH_LOGO_FILE)
res_logo = logo.resize((116, 99), Image.ANTIALIAS)
res_logo_image = ImageTk.PhotoImage(res_logo)
logo_label = Tkinter.Label(window, image=res_logo_image)
logo_label.pack(side="left")
label = Tkinter.Label(window, padx=10, text="Generating atlases!")
label.pack(side="right")
# wait a second to give the thread time to check if a generation is necessary at all
time.sleep(1.0)
window.deiconify()
while atlas_loading_thread.is_alive():
#.........这里部分代码省略.........
示例11: start
# 需要导入模块: from horizons.entities import Entities [as 别名]
# 或者: from horizons.entities.Entities import load [as 别名]
def start(_command_line_arguments):
"""Starts the horizons. Will drop you to the main menu.
@param _command_line_arguments: options object from optparse.OptionParser. see run_uh.py.
"""
global debug, preloading, command_line_arguments
command_line_arguments = _command_line_arguments
# NOTE: globals are designwise the same thing as singletons. they don't look pretty.
# here, we only have globals that are either trivial, or only one instance may ever exist.
from engine import Fife
# handle commandline globals
debug = command_line_arguments.debug
if command_line_arguments.restore_settings:
# just delete the file, Settings ctor will create a new one
os.remove( PATHS.USER_CONFIG_FILE )
if command_line_arguments.mp_master:
try:
mpieces = command_line_arguments.mp_master.partition(':')
NETWORK.SERVER_ADDRESS = mpieces[0]
# only change port if port is specified
if mpieces[2]:
NETWORK.SERVER_PORT = parse_port(mpieces[2])
except ValueError:
print "Error: Invalid syntax in --mp-master commandline option. Port must be a number between 1 and 65535."
return False
# init fife before mp_bind is parsed, since it's needed there
horizons.globals.fife = Fife()
if command_line_arguments.generate_minimap: # we've been called as subprocess to generate a map preview
from horizons.gui.modules.singleplayermenu import generate_random_minimap
generate_random_minimap( * json.loads(
command_line_arguments.generate_minimap
) )
sys.exit(0)
if debug: # also True if a specific module is logged (but not 'fife')
setup_debug_mode(command_line_arguments)
if horizons.globals.fife.get_uh_setting("DebugLog"):
set_debug_log(True, startup=True)
if command_line_arguments.mp_bind:
try:
mpieces = command_line_arguments.mp_bind.partition(':')
NETWORK.CLIENT_ADDRESS = mpieces[0]
horizons.globals.fife.set_uh_setting("NetworkPort", parse_port(mpieces[2]))
except ValueError:
print "Error: Invalid syntax in --mp-bind commandline option. Port must be a number between 1 and 65535."
return False
setup_AI_settings(command_line_arguments)
# set MAX_TICKS
if command_line_arguments.max_ticks:
GAME.MAX_TICKS = command_line_arguments.max_ticks
preload_lock = threading.Lock()
atlas_loading_thread = None
atlas_loading_thread = AtlasLoadingThread(preload_lock, command_line_arguments)
atlas_loading_thread.start()
atlas_loading_thread.join()
# init game parts
if not setup_gui_logger(command_line_arguments):
return False
# GUI tests always run with sound disabled and SDL (so they can run under xvfb).
# Needs to be done before engine is initialized.
if command_line_arguments.gui_test:
horizons.globals.fife.engine.getSettings().setRenderBackend('SDL')
horizons.globals.fife.set_fife_setting('PlaySounds', False)
ExtScheduler.create_instance(horizons.globals.fife.pump)
horizons.globals.fife.init()
if not VERSION.IS_DEV_VERSION and horizons.globals.fife.get_uh_setting('AtlasesEnabled'):
GFX.USE_ATLASES = True
PATHS.DB_FILES = PATHS.DB_FILES + (PATHS.ATLAS_DB_PATH, )
horizons.globals.db = _create_main_db()
_modules.gui = Gui()
SavegameManager.init()
horizons.globals.fife.init_animation_loader(GFX.USE_ATLASES)
from horizons.entities import Entities
Entities.load(horizons.globals.db, load_now=False) # create all references
# for preloading game data while in main screen
preload_thread = threading.Thread(target=preload_game_data, args=(preload_lock,))
preloading = (preload_thread, preload_lock)
# Singleplayer seed needs to be changed before startup.
if command_line_arguments.sp_seed:
SINGLEPLAYER.SEED = command_line_arguments.sp_seed
SINGLEPLAYER.FREEZE_PROTECTION = command_line_arguments.freeze_protection
#.........这里部分代码省略.........