from abc import abstractmethod from enum import Enum class ComponentType(str, Enum): POSITION = "POSITION" CONTROLLABLE = "CONTROLLABLE" MARKOV = "MARKOV" SPRITESHEET = "SPRITESHEET" class Component: def __init__(self, component_type: ComponentType): self.component_type = component_type @abstractmethod def to_dict(self) -> dict: pass