microecs.component

component.py - submodule holind the base class for all components, which is just a dataclass wrapper

 1"""component.py - submodule holind the base class for all components, which is just a dataclass wrapper"""
 2from dataclasses import dataclass
 3
 4class Component:
 5    """Base for ECS components: subclassing auto-applies @dataclass(kw_only=True)."""
 6    def __init_subclass__(cls, **kwargs):
 7        super().__init_subclass__(**kwargs)
 8        dataclass(kw_only=True)(cls)
 9
10ComponentType = type[Component]
class Component:
5class Component:
6    """Base for ECS components: subclassing auto-applies @dataclass(kw_only=True)."""
7    def __init_subclass__(cls, **kwargs):
8        super().__init_subclass__(**kwargs)
9        dataclass(kw_only=True)(cls)

Base for ECS components: subclassing auto-applies @dataclass(kw_only=True).

ComponentType = type[Component]