Mercurial > parpg-source
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