Mercurial > pyntnclick
diff pyntnclick/state.py @ 759:386475464202 pyntnclick
Inspect game state for Thing.set_interact() instead of setting it manually everywhere.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sat, 26 Jan 2013 13:00:31 +0200 |
parents | 8ac05c038e73 |
children | 683ff96d413e |
line wrap: on
line diff
--- a/pyntnclick/state.py Sat Jan 26 12:56:21 2013 +0200 +++ b/pyntnclick/state.py Sat Jan 26 13:00:31 2013 +0200 @@ -51,6 +51,9 @@ def __getitem__(self, key): return self._game_state[key] + def __contains__(self, key): + return key in self._game_state + def get_all_gizmo_data(self, state_key): """Get all state for a gizmo - returns a dict""" return self[state_key] @@ -443,15 +446,21 @@ self.set_state(self.game.data) for interact in self.interacts.itervalues(): interact.set_thing(self) - self.set_interact(self.INITIAL) + self.set_interact() - def set_interact(self, name): + def set_interact(self): + return self._set_interact(self.select_interact()) + + def _set_interact(self, name): self.current_interact = self.interacts[name] self.rect = self.current_interact.interact_rect if self.scene: self._fix_rect() assert self.rect is not None, name + def select_interact(self): + return self.INITIAL + def contains(self, pos): if hasattr(self.rect, 'collidepoint'): return self.rect.collidepoint(pos)