Код: Выделить всё
class Player():
...
def _private_fun(): ...
@action(
param_type_factory = {
"target": lambda player: Literal[tuple(player.opponents)]
}
)
def attack_action(self, target):
...
param_type_factory: Dict[
str,
Callable[[], Any]
]
< /code>
Таким образом, фабрика всегда получает экземпляр объекта = объект класса округа Образцы, например, Возвращение объекта действия: < /p>
@action
def attack_action(self):
return Action(
attack,
param_type_facotry = {
"target": Tuple[self.opponents]
}
)
def attack(self, target):
...
< /code>
Но это сложно разделить метаданные от логики. Любые идеи для более краткого, типа-безопасного/нажатия на тип рисунка/декоратор?
Большое спасибо!
Подробнее здесь: https://stackoverflow.com/questions/797 ... in-wrapper