def __from_json__(cls, pd, game, agent): deck = Deck.__from__to_json__(pd["deck"], hero_from_name(pd["hero"]["name"])) player = Player("whatever", deck, agent, game) hero = Hero.__from_json__(pd["hero"], player) player.hero = hero hero.player = player if pd["weapon"]: player.weapon = Weapon.__from_json__(pd["weapon"], player) player.weapon.player = player player.mana = pd["mana"] player.max_mana = pd["max_mana"] player.upcoming_overload = pd["upcoming_overload"] player.current_overload = pd["current_overload"] player.name = pd["name"] player.hand = [] for card_def in pd["hand"]: card = card_lookup(card_def["name"]) card.__from_json__(card, **card_def) card.attach(card, player) player.hand.append(card) player.graveyard = pd["graveyard"] player.secrets = [] for secret_name in pd["secrets"]: secret = card_lookup(secret_name) secret.player = player player.secrets.append(secret) i = 0 player.minions = [] for md in pd["minions"]: minion = Minion.__from_json__(md, player, game) minion.index = i player.minions.append(minion) i += 1 return player
def __from_json__(cls, pd, game, agent): deck = Deck.__from__to_json__(pd["deck"], hero_from_name(pd["hero"]["name"])) player = Player("whatever", deck, agent, game) hero = Hero.__from_json__(pd["hero"], player) player.hero = hero hero.player = player if pd['weapon']: player.weapon = Weapon.__from_json__(pd['weapon'], player) player.weapon.player = player player.mana = pd["mana"] player.max_mana = pd["max_mana"] player.upcoming_overload = pd['upcoming_overload'] player.current_overload = pd['current_overload'] player.name = pd['name'] player.hand = [] for card_def in pd['hand']: card = card_lookup(card_def['name']) card.__from_json__(card, **card_def) card.attach(card, player) player.hand.append(card) player.graveyard = pd["graveyard"] player.secrets = [] for secret_name in pd["secrets"]: secret = card_lookup(secret_name) secret.player = player player.secrets.append(secret) i = 0 player.minions = [] for md in pd["minions"]: minion = Minion.__from_json__(md, player, game) minion.index = i player.minions.append(minion) i += 1 return player