예제 #1
0
def setup_global_pointers():
    """Set up global pointers."""
    _sp_logger.log_debug('Setting up global pointers...')

    from core import GameConfigObj
    from memory.manager import manager
    from paths import SP_DATA_PATH

    manager.create_global_pointers_from_file(GameConfigObj(
        SP_DATA_PATH / 'memory' / 'global_pointers.ini'))

    _sp_logger.log_debug('Setting up global "server" variables...')
    from engines import server
    try:
        server.server = server.engine_server.server
    except NotImplementedError:
        server.server = manager.get_global_pointer('Server')

    _sp_logger.log_debug('Setting up global "factory_dictionary" variables...')
    from entities import factories
    try:
        from _entities._factories import factory_dictionary
    except ImportError:
        factory_dictionary = manager.get_global_pointer('EntityFactoryDictionary')

    factories.factory_dictionary = factory_dictionary
예제 #2
0
def setup_global_pointers():
    """Set up global pointers."""
    _sp_logger.log_debug('Setting up global pointers...')

    from core import GameConfigObj
    from memory.manager import manager
    from paths import SP_DATA_PATH

    manager.create_global_pointers_from_file(
        GameConfigObj(SP_DATA_PATH / 'memory' / 'global_pointers.ini'))

    _sp_logger.log_debug('Setting up global "server" variables...')
    from engines import server
    try:
        server.server = server.engine_server.server
    except NotImplementedError:
        server.server = manager.get_global_pointer('Server')
예제 #3
0
def setup_global_pointers():
    """Set up global pointers."""
    _sp_logger.log_debug('Setting up global pointers...')

    import sys
    from warnings import warn
    from core import GameConfigObj
    from memory.manager import manager
    from paths import SP_DATA_PATH

    manager.create_global_pointers_from_file(GameConfigObj(
        SP_DATA_PATH / 'memory' / 'global_pointers.ini'))

    _sp_logger.log_debug('Setting up global "server" variables...')
    from engines import server
    try:
        server.server = server.engine_server.server
    except NotImplementedError:
        try:
            server.server = manager.get_global_pointer('Server')
        except NameError:
            warn(str(sys.exc_info()[1]))

    _sp_logger.log_debug('Setting up global "factory_dictionary" variables...')
    from entities import factories
    try:
        from _entities._factories import factory_dictionary
    except ImportError:
        try:
            factory_dictionary = manager.get_global_pointer(
                'EntityFactoryDictionary'
            )
        except NameError:
            warn(str(sys.exc_info()[1]))
            return

    factories.factory_dictionary = factory_dictionary
예제 #4
0
def setup_global_pointers():
    """Set up global pointers."""
    _sp_logger.log_debug("Setting up global pointers...")

    import sys
    from warnings import warn
    from core import GameConfigObj
    from memory.manager import manager
    from paths import SP_DATA_PATH

    manager.create_global_pointers_from_file(GameConfigObj(SP_DATA_PATH / "memory" / "global_pointers.ini"))

    _sp_logger.log_debug('Setting up global "server" variables...')
    from engines import server

    try:
        server.server = server.engine_server.server
    except NotImplementedError:
        try:
            server.server = manager.get_global_pointer("Server")
        except NameError:
            warn(str(sys.exc_info()[1]))

    _sp_logger.log_debug('Setting up global "factory_dictionary" variables...')
    from entities import factories

    try:
        from _entities._factories import factory_dictionary
    except ImportError:
        try:
            factory_dictionary = manager.get_global_pointer("EntityFactoryDictionary")
        except NameError:
            warn(str(sys.exc_info()[1]))
            return

    factories.factory_dictionary = factory_dictionary
예제 #5
0
WeaponInfo = manager.create_type_from_dict('WeaponInfo', GameConfigObj(
    SP_DATA_PATH / 'weapons' / 'scripts' / 'WeaponInfo.ini'))

# Get the _WeaponDatabase class...
try:
    from _weapons._scripts import _WeaponDatabase

    # Make sure the manager is able to find us...
    manager['_WeaponDatabase'] = _WeaponDatabase
except ImportError:
    _WeaponDatabase = manager.create_type_from_dict(
        '_WeaponDatabase', GameConfigObj(
            SP_DATA_PATH / 'weapons' / 'scripts' / 'WeaponDatabase.ini'))

# Get the global _WeaponDatabase pointer...
manager.create_global_pointers_from_file(GameConfigObj(
    SP_DATA_PATH / 'weapons' / 'scripts' / 'global_pointers.ini'))
_weapon_scripts = manager.get_global_pointer('_WeaponDatabase')


# =============================================================================
# >> CLASSES
# =============================================================================
class WeaponDatabase(object):
    """WeaponDatabase accessor class."""

    def __len__(self):
        """Return the length of the database."""
        return _weapon_scripts._length

    def __getitem__(self, item):
        """Return the WeaponInfo instance matching the given class name."""
예제 #6
0
WeaponInfo = manager.create_type_from_dict('WeaponInfo', GameConfigObj(
    SP_DATA_PATH.joinpath('weapons', 'scripts', 'WeaponInfo.ini')))

# Get the _WeaponDatabase class...
try:
    from _weapons._scripts import _WeaponDatabase

    # Make sure the manager is able to find us...
    manager['_WeaponDatabase'] = _WeaponDatabase
except ImportError:
    _WeaponDatabase = manager.create_type_from_dict(
        '_WeaponDatabase', GameConfigObj(SP_DATA_PATH.joinpath(
            'weapons', 'scripts').joinpath('WeaponDatabase.ini')))

# Get the global _WeaponDatabase pointer...
manager.create_global_pointers_from_file(GameConfigObj(
    SP_DATA_PATH.joinpath('weapons', 'scripts', 'global_pointers.ini')))
_weapon_scripts = manager.get_global_pointer('_WeaponDatabase')


# =============================================================================
# >> CLASSES
# =============================================================================
class WeaponDatabase(object):

    """WeaponDatabase accessor class."""

    def __len__(self):
        """Return the length of the database."""
        return _weapon_scripts._length

    def __getitem__(self, item):