- -

Source code for evennia.contrib.base_systems.components

-"""
-Components - ChrisLR 2022
-
-This is a basic Component System.
-It allows you to use components on typeclasses using a simple syntax.
-This helps writing isolated code and reusing it over multiple objects.
-
-See the docs for more information.
-"""
-
-from evennia.contrib.base_systems.components.component import Component
-from evennia.contrib.base_systems.components.dbfield import DBField, NDBField, TagField
-from evennia.contrib.base_systems.components.holder import (
-    ComponentHolderMixin,
-    ComponentProperty,
-)
-
-
-
[docs]def get_component_class(component_name): - subclasses = Component.__subclasses__() - component_class = next((sc for sc in subclasses if sc.name == component_name), None) - if component_class is None: - message = ( - f"Component named {component_name} has not been found. " - f"Make sure it has been imported before being used." - ) - raise Exception(message) - - return component_class
-
- -