# HG changeset patch # User Jeremy Thurgood # Date 1282563552 -7200 # Node ID 75bf3d3689e99590886e56be3dfc9898748389e2 # Parent 2e2f6ff547801f88cf1bd89118a1ff0ce2641f32 Refactor thing interactivity and add "fake" bridge scene. diff -r 2e2f6ff54780 -r 75bf3d3689e9 gamelib/scenes/bridge.py --- a/gamelib/scenes/bridge.py Mon Aug 23 13:27:50 2010 +0200 +++ b/gamelib/scenes/bridge.py Mon Aug 23 13:39:12 2010 +0200 @@ -5,8 +5,13 @@ class Bridge(Scene): - FOLDER = "bridge" - BACKGROUND = None # TODO + # FOLDER = "bridge" + # BACKGROUND = None # TODO + + # TODO: This is for testing. + FOLDER = "cryo" + BACKGROUND = "cryo_room.png" + NAME = "bridge" INITIAL_DATA = { 'accessible': False, diff -r 2e2f6ff54780 -r 75bf3d3689e9 gamelib/scenes/cryo.py --- a/gamelib/scenes/cryo.py Mon Aug 23 13:27:50 2010 +0200 +++ b/gamelib/scenes/cryo.py Mon Aug 23 13:39:12 2010 +0200 @@ -48,12 +48,6 @@ 'open': False, } - def interact(self, item): - if self.get_data('open'): - print "Door open" - return - Thing.interact(self, item) - def interact_with_titanium_leg(self, item): self.message("You wedge the titanium leg into the chain and twist. With a satisfying *snap*, the chain breaks and the door opens.") self.open_door() @@ -68,6 +62,9 @@ "The door resists. Try something else, perhaps?", ])) + def is_interactive(self): + return not self.get_data('open') + def open_door(self): self.set_data('open', True) self.state.scenes['bridge'].set_data('accessible', True) diff -r 2e2f6ff54780 -r 75bf3d3689e9 gamelib/state.py --- a/gamelib/state.py Mon Aug 23 13:27:50 2010 +0200 +++ b/gamelib/state.py Mon Aug 23 13:39:12 2010 +0200 @@ -8,7 +8,7 @@ """Load the initial state.""" state = State() state.load_scenes("cryo") - #state.load_scenes("bridge") + state.load_scenes("bridge") #state.load_scenes("mess") #state.load_scenes("engine") #state.load_scenes("machine") @@ -152,7 +152,12 @@ def message(self, msg): self.state.message(msg) + def is_interactive(self): + return True + def interact(self, item): + if not self.is_interactive(): + return if item is None: self.interact_without() else: