Mercurial > mamba
changeset 51:e5f36843f7cd
Add on_enter and on_exit methods to habitats.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sun, 11 Sep 2011 15:42:57 +0200 |
parents | 1b725035b8ef |
children | d09f63429b80 |
files | mamba/__main__.py mamba/engine.py |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mamba/__main__.py Sun Sep 11 15:29:52 2011 +0200 +++ b/mamba/__main__.py Sun Sep 11 15:42:57 2011 +0200 @@ -35,3 +35,4 @@ engine = Engine() engine.set_habitat(start) engine.run() + engine.set_habitat(None) # clear habitat
--- a/mamba/engine.py Sun Sep 11 15:29:52 2011 +0200 +++ b/mamba/engine.py Sun Sep 11 15:42:57 2011 +0200 @@ -14,7 +14,11 @@ self._habitat = None def set_habitat(self, habitat): + if self._habitat is not None: + self._habitat.on_exit() self._habitat = habitat + if self._habitat is not None: + self._habitat.on_enter() def run(self): """Game loop.""" @@ -37,6 +41,14 @@ self.surface = pygame.Surface(SCREEN) self.container = Container() + def on_enter(self): + """Called when this becomes the current habitat.""" + pass + + def on_exit(self): + """Called when this stops being the current habitat.""" + pass + def dispatch(self, ev): self.container.event(ev)