changeset 52:3dfd26b1c7ef

Modifications to make the player agent move around by clicking with the mouse.
author KarstenBock@gmx.net
date Thu, 08 Sep 2011 18:23:06 +0200
parents d3a9caba067b
children 7b9f6e3513d4
files behaviours/base.py gamemodel.py gamesceneview.py
diffstat 3 files changed, 23 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/behaviours/base.py	Thu Sep 08 15:18:39 2011 +0200
+++ b/behaviours/base.py	Thu Sep 08 18:23:06 2011 +0200
@@ -109,4 +109,23 @@
            @return: None"""
         self.state = _AGENT_STATE_TALK
         self.pc = pc.behaviour.agent
-        self.idle()
\ No newline at end of file
+        self.idle()
+        
+    def run(self, location):
+        """Makes the PC run to a certain location
+           @type location: fife.ScreenPoint
+           @param location: Screen position to run to.
+           @return: None"""
+        self.state = _AGENT_STATE_RUN
+        self.nextAction = None
+        self.agent.move('run', location, self.speed + 1)
+
+    def walk(self, location):
+        """Makes the PC walk to a certain location.
+           @type location: fife.ScreenPoint
+           @param location: Screen position to walk to.
+           @return: None"""
+        self.state = _AGENT_STATE_RUN
+        self.nextAction = None 
+        self.agent.move('walk', location, self.speed - 1)
+        
\ No newline at end of file
--- a/gamemodel.py	Thu Sep 08 15:18:39 2011 +0200
+++ b/gamemodel.py	Thu Sep 08 18:23:06 2011 +0200
@@ -712,9 +712,9 @@
            @param position: Screen position to move to
            @return: None"""
         if(self.pc_run == 1):
-            self.game_state.getObjectById("PlayerCharacter").fifeagent.run(position)
+            self.game_state.getObjectById("PlayerCharacter").fifeagent.behaviour.run(position)
         else:
-            self.game_state.getObjectById("PlayerCharacter").fifeagent.walk(position)
+            self.game_state.getObjectById("PlayerCharacter").fifeagent.behaviour.walk(position)
         
     def teleportAgent(self, agent, position):
         """Code called when an agent should teleport to another location
--- a/gamesceneview.py	Thu Sep 08 15:18:39 2011 +0200
+++ b/gamesceneview.py	Thu Sep 08 18:23:06 2011 +0200
@@ -62,7 +62,7 @@
     def onWalk(self, click):
         """Callback sample for the context menu."""
         self.hud.hideContainer()
-        self.model.game_state.getObjectById("PlayerCharacter").fifeagent.run(click)
+        self.model.game_state.getObjectById("PlayerCharacter").fifeagent.behaviour.run(click)
 
     def refreshTopLayerTransparencies(self):
         """Fade or unfade TopLayer instances if the PlayerCharacter