def unregister(cls): """Unregister a system class Returns: True if the system was unregistered, false if Not """ try: SystemManager.unregister_system(cls.__registered_as) cls.__registered_as = None except NotRegisteredError as error: print(error) return False
def edit_systems(self): """Show the dialog to edit systems""" dialog = Systems(self) values = dialog.show_modal(self.editor_gui.editor_window, self.engine.pump) if not dialog.return_value: return False SystemManager.clear_systems() current_items = list(values["current_items"]) self.project.set("fife-rpg", "Systems", current_items) self.register_systems(current_items) self.project_changed = True
def register(cls, name): """Registers the class as a system Args: name: The name under which the class should be registered Returns: True if the system was registered, False if not. """ try: for dependency in cls.dependencies: if not dependency.registered_as: dependency.register() SystemManager.register_system(name, cls()) cls.__registered_as = name return True except AlreadyRegisteredError as error: print error return False
def configure(self): """Configure the worlds components and systems""" World.configure(self) components = ComponentManager.get_components() for name, component in components.iteritems(): setattr(self.components, name, component) systems = SystemManager.get_systems() for name, system in systems.iteritems(): setattr(self.systems, name, system) if not General.registered_as: General.register()
def configure(self): """Configure the worlds components and systems""" World.configure(self) components = ComponentManager.get_components() for name, component in components.items(): setattr(self.components, name, component) systems = SystemManager.get_systems() for name, system in systems.items(): setattr(self.systems, name, system) if not General.registered_as: General.register()
def register(cls, name): """Registers the class as a system Args: name: The name under which the class should be registered Returns: True if the system was registered, False if not. """ try: for dependency in cls.dependencies: if not dependency.registered_as: dependency.register() # pylint: disable=abstract-class-instantiated SystemManager.register_system(name, cls()) # pylint: enable=abstract-class-instantiated cls.__registered_as = name return True except AlreadyRegisteredError as error: print(error) return False
def clear(self): """Clears all data and restores saved settings""" self._maps = {} self._current_map = None self._components = {} self._actions = {} self._systems = {} self._behaviours = {} self.changed_maps = [] self.project_changed = False self.entity_changed = False self.editor_gui.reset_layerlist() self.map_entities = None self.set_selected_object(None) tmp_settings = list(self.settings.getSettingsFromFile("fife-rpg").keys()) for setting in tmp_settings: if setting in self.editor_settings: self.settings.set("fife-rpg", setting, self.editor_settings[setting]) else: self.settings.remove("fife-rpg", setting) ComponentManager.clear_components() ComponentManager.clear_checkers() ActionManager.clear_actions() ActionManager.clear_commands() SystemManager.clear_systems() BehaviourManager.clear_behaviours() self.editor.delete_maps() self.editor.delete_objects() if self.project_source is not None: self.engine.getVFS().removeSource(self.project_source) self.project_source = None if self.project_dir is not None: sys.path.remove(self.project_dir) self.project_dir = None self.project = None for callback in self._project_cleared_callbacks: callback() self.create_world()