def setup_factory(factory): factory.add_card_class(CardClass("Cooper", Kind.Treasure, 0)) factory.add_card_class(CardClass("Silver", Kind.Treasure, 3)) factory.add_card_class(CardClass("Gold", Kind.Treasure, 6)) factory.add_card_class(CardClass("Estate", Kind.Victory, 2)) factory.add_card_class(CardClass("Duchy", Kind.Victory, 5)) factory.add_card_class(CardClass("Province", Kind.Victory, 8)) factory.add_card_class(CardClass("Curse", Kind.Curse, 0)) card = CardClass("Village", Kind.Action, 3) def action(self): yield Resource(action=2) card.set_action(action) factory.add_card_class(card)
def to_card_class(cls): cc = CardClass(cls.__name__, cls.kind, cls.cost) if hasattr(cls, "action"): cc.set_action(cls.action) return cc