def test_serialize(self): self.assertEqual(self.kb.serialize(), KnowledgeBase.deserialize(self.kb.serialize(), FACTS).serialize()) self.assertEqual( self.kb.serialize(short=True), KnowledgeBase.deserialize(self.kb.serialize(short=True), FACTS).serialize() ) self.assertNotEqual( self.kb.serialize(), KnowledgeBase.deserialize(self.kb.serialize(short=True), FACTS).serialize() )
def test_serialize(self): self.assertEqual( self.kb.serialize(), KnowledgeBase.deserialize(self.kb.serialize(), FACTS).serialize()) self.assertEqual( self.kb.serialize(short=True), KnowledgeBase.deserialize(self.kb.serialize(short=True), FACTS).serialize()) self.assertNotEqual( self.kb.serialize(), KnowledgeBase.deserialize(self.kb.serialize(short=True), FACTS).serialize())
def deserialize(cls, data): return cls( knowledge_base=KnowledgeBase.deserialize(data["knowledge_base"], fact_classes=facts.FACTS), quests_stack=[QuestInfo.deserialize(info_data) for info_data in data["quests_stack"]], created_at=datetime.datetime.fromtimestamp(data["created_at"]), states_to_percents=data["states_to_percents"], )
def deserialize(cls, data): return cls( knowledge_base=KnowledgeBase.deserialize(data['knowledge_base'], fact_classes=facts.FACTS), quests_stack=[ QuestInfo.deserialize(info_data) for info_data in data['quests_stack'] ], created_at=datetime.datetime.fromtimestamp(data['created_at']), states_to_percents=data['states_to_percents'])
def setup_quest_for_hero(hero, knowledge_base_data): # do nothing if hero has already had quest if not hero.actions.current_action.searching_quest: return knowledge_base = KnowledgeBase.deserialize(knowledge_base_data, fact_classes=facts.FACTS) states_to_percents = analysers.percents_collector(knowledge_base) quest = QuestPrototype(hero=hero, knowledge_base=knowledge_base, states_to_percents=states_to_percents) if quest.machine.can_do_step(): quest.machine.step() # do first step to setup pointer hero.actions.current_action.setup_quest(quest)
def deserialize(cls, hero, data): return cls(knowledge_base=KnowledgeBase.deserialize(data['knowledge_base'], fact_classes=facts.FACTS), quests_stack=[QuestInfo.deserialize(info_data) for info_data in data['quests_stack']], created_at=datetime.datetime.fromtimestamp(data['created_at']), states_to_percents=data['states_to_percents'], hero=hero)