def getDialogues(self): """Searches the dialogue directory for dialogues """ files = locateFiles("*.yaml", self.dialogues_directory) dialogue_parser = YamlDialogueParser() for dialogue_filepath in files: dialogue_filepath = os.path.relpath(dialogue_filepath) \ .replace("\\", "/") # Note Technomage 2010-11-13: the new DialogueEngine uses its own # parser now, YamlDialogueParser. # dialogues = yaml.load_all(file(dialogue_file, "r")) with file(dialogue_filepath, 'r') as dialogue_file: try: dialogue = dialogue_parser.load(dialogue_file) except (DialogueFormatError,) as error: logging.error('unable to load dialogue file {0}: {1}' .format(dialogue_filepath, error)) else: self.dialogues[dialogue.npc_name] = dialogue
def main(argv=sys.argv): option_parser = OptionParser(usage=USAGE_MESSAGE) for option in option_parser: if (option in ['-h', '--help']): print(option_parser.usage) sys.exit(0) else: option_parser.error('unrecognized option "{0}"'.format(option)) try: dialogue_file_path = option_parser.get_next_prog_arg() except OptionError: dialogue_file_path = selectDialogueFile() game_state = { 'quest': QuestEngine('quests'), 'pc': MockPlayerCharacter(), 'box': MockBox(), 'beer': MockBeer() } dialogue_parser = YamlDialogueParser() with file(dialogue_file_path, 'r') as dialogue_file: dialogue = dialogue_parser.load(dialogue_file) processDialogue(dialogue, game_state)