diff gui/dialoguegui.py @ 80:d0b600d7136c

Added pc_has and npc_has as functions to the dialogue engine. These replace calls to pc.has_item and ncp.has_item.
author KarstenBock@gmx.net
date Fri, 23 Sep 2011 14:11:49 +0200
parents 535801aec63e
children dd7655eee67d
line wrap: on
line diff
--- a/gui/dialoguegui.py	Fri Sep 23 13:35:44 2011 +0200
+++ b/gui/dialoguegui.py	Fri Sep 23 14:11:49 2011 +0200
@@ -27,7 +27,7 @@
     """Window that handles the dialogues."""
     _logger = logging.getLogger('dialoguegui.DialogueGUI')
     
-    def __init__(self, controller, npc, quest_engine, met_fnc, meet_fnc, player_character):
+    def __init__(self, controller, npc, quest_engine, met_fnc, meet_fnc, has_fnc, player_character):
         self.active = False
         self.controller = controller
         xml_file = vfs.VFS.open('gui/dialogue.xml')
@@ -40,6 +40,10 @@
         self.player_character = player_character
         self.met_fnc = met_fnc
         self.meet_fnc = meet_fnc
+        self.pc_has_fnc = lambda slot_or_type:\
+            has_fnc(player_character.container, slot_or_type)
+        self.npc_has_fnc = lambda slot_or_type:\
+            has_fnc(npc.container, slot_or_type)
     
     def initiateDialogue(self):
         """Callback for starting a quest"""
@@ -55,7 +59,10 @@
         self.setAvatarImage(self.npc.dialogue.dialogue.avatar_path)
         
         game_state = {'npc': self.npc, 'pc': self.player_character,
-                      'quest': self.quest_engine, 'met': self.met_fnc, 'meet': self.meet_fnc}
+                      'quest': self.quest_engine, 
+                      'met': self.met_fnc, 'meet': self.meet_fnc, 
+                      'pc_has': self.pc_has_fnc, 'npc_has': self.npc_has_fnc,
+                      }
         try:
             self.dialogue_processor = DialogueProcessor(self.npc.dialogue.dialogue,
                                                         game_state)