Ejemplo n.º 1
0
    def __init__(self, filename):

        self.convo = self.XMLToConversation(filename)
        self.convoMgr = ConversationMgr(self)

        # temp hack
        self.convoMgr.conversations['myConvo'] = self.convo

        self.convoMgr.openConversation('myConvo')
        self.showLines()

        self.accept('escape', sys.exit)
Ejemplo n.º 2
0
 def __init__(self, filename):
     
     self.convo = self.XMLToConversation(filename)
     self.convoMgr = ConversationMgr(self)
     
     # temp hack
     self.convoMgr.conversations['myConvo'] = self.convo
     
     self.convoMgr.openConversation('myConvo')
     self.showLines()
     
     self.accept('escape', sys.exit)
Ejemplo n.º 3
0
class ConversationTest(DirectObject):
    
    def __init__(self, filename):
        
        self.convo = self.XMLToConversation(filename)
        self.convoMgr = ConversationMgr(self)
        
        # temp hack
        self.convoMgr.conversations['myConvo'] = self.convo
        
        self.convoMgr.openConversation('myConvo')
        self.showLines()
        
        self.accept('escape', sys.exit)
        
    def XMLToConversation(self, xml_filename):
        print 'parsing XML to make Conversation...'
        doc = xml.dom.minidom.parse(xml_filename)
        root = doc.documentElement
        convo = Conversation.decode(doc)
        return convo
    
    def showLines(self):
        npc = self.convoMgr.getNPCStatement()
        responses = self.convoMgr.getValidResponses()
        
        if npc == None:
            print '==== npc line is None...spacebar to reset'
            self.accept('space', self.reset)
        else:
            print 'NPC says: %s' %(npc)
            if len(responses) == 0:
                print '==== player response list is empty...spacebar to reset'
                self.accept('space', self.reset)
            else:
                for i in range(len(responses)):
                    print 'choice %d: %s' %(i, responses[i])
                    self.accept('%d' %(i), self.onChoiceMade, extraArgs=[i])
                print '==== Make your choice...'
    
    def onChoiceMade(self, index):
        responses = self.convoMgr.getValidResponses()
        for i in range(len(responses)):
            self.ignore('%d' %(i))
            
        self.convoMgr.playResponse(index)
        print '==== choice %d' %(index)
        self.showLines()
    
    def reset(self):
        self.convoMgr.closeConversation() # needed
        print 'conversation closed'
        self.convoMgr.openConversation('myConvo')
        self.showLines()
Ejemplo n.º 4
0
class ConversationTest(DirectObject):
    def __init__(self, filename):

        self.convo = self.XMLToConversation(filename)
        self.convoMgr = ConversationMgr(self)

        # temp hack
        self.convoMgr.conversations['myConvo'] = self.convo

        self.convoMgr.openConversation('myConvo')
        self.showLines()

        self.accept('escape', sys.exit)

    def XMLToConversation(self, xml_filename):
        print 'parsing XML to make Conversation...'
        doc = xml.dom.minidom.parse(xml_filename)
        root = doc.documentElement
        convo = Conversation.decode(doc)
        return convo

    def showLines(self):
        npc = self.convoMgr.getNPCStatement()
        responses = self.convoMgr.getValidResponses()

        if npc == None:
            print '==== npc line is None...spacebar to reset'
            self.accept('space', self.reset)
        else:
            print 'NPC says: %s' % (npc)
            if len(responses) == 0:
                print '==== player response list is empty...spacebar to reset'
                self.accept('space', self.reset)
            else:
                for i in range(len(responses)):
                    print 'choice %d: %s' % (i, responses[i])
                    self.accept('%d' % (i), self.onChoiceMade, extraArgs=[i])
                print '==== Make your choice...'

    def onChoiceMade(self, index):
        responses = self.convoMgr.getValidResponses()
        for i in range(len(responses)):
            self.ignore('%d' % (i))

        self.convoMgr.playResponse(index)
        print '==== choice %d' % (index)
        self.showLines()

    def reset(self):
        self.convoMgr.closeConversation()  # needed
        print 'conversation closed'
        self.convoMgr.openConversation('myConvo')
        self.showLines()