aboutsummaryrefslogtreecommitdiff
path: root/kennel/engine/components/component.py
blob: 90506b9669b0ab8bfb52b5d1d9cd23ba7e462298 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from abc import abstractmethod
from enum import Enum


class ComponentType(str, Enum):
    POSITION = "POSITION"
    CONTROLLABLE = "CONTROLLABLE"
    MARKOV = "MARKOV"


class Component:
    def __init__(self, component_type: ComponentType):
        self.component_type = component_type

    @abstractmethod
    def to_dict(self) -> dict:
        pass