changeset 179:1ee8756888e4

Add some state manipulation helper methods
author Neil Muller <drnlmuller@gmail.com>
date Tue, 03 Sep 2013 16:57:09 +0200
parents 5cabbb485ad5
children 026297a03963
files nagslang/protagonist.py
diffstat 1 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/protagonist.py	Tue Sep 03 17:15:00 2013 +0200
+++ b/nagslang/protagonist.py	Tue Sep 03 16:57:09 2013 +0200
@@ -187,6 +187,19 @@
             (dx * self.impulse_factor, dy * self.impulse_factor))
         self.renderer.start()
 
+    def set_position(self, position):
+        self._body.position = position
+
+    def copy_state(self, old_protagonist):
+        self._physicsers[self.form].remove_from_space()
+        self._body.position = old_protagonist._body.position
+        self.form = old_protagonist.form
+        self.angle = old_protagonist.angle
+        self.render_form = old_protagonist.render_form
+        self.inventory = old_protagonist.inventory
+        self.renderer = self._renderers[self.render_form]
+        self._physicsers[self.form].add_to_space()
+
     def toggle_form(self):
         if self.form == self.WOLF_FORM:
             self.go_human()