comparison pyntnclick/state.py @ 808:d99400fcd624 pyntnclick

Avoid setting Thing state twice and empty state at all.
author Jeremy Thurgood <firxen@gmail.com>
date Sun, 27 Jan 2013 16:24:22 +0200
parents bcc9277a23e6
children eed75a1d50c4
comparison
equal deleted inserted replaced
807:642564a3bedf 808:d99400fcd624
260 self.state = None # set this with set_state if required 260 self.state = None # set this with set_state if required
261 261
262 def set_state(self, state): 262 def set_state(self, state):
263 """Set the state object and initialize if needed""" 263 """Set the state object and initialize if needed"""
264 self.state = state 264 self.state = state
265 self.state.initialize_state(self.state_key, self.INITIAL_DATA) 265 if self.state_key is None:
266 assert self.INITIAL_DATA is None, (
267 "Can't provide self.INITIAL_DATA without self.state_key.")
268 if self.INITIAL_DATA is not None:
269 self.state.initialize_state(self.state_key, self.INITIAL_DATA)
266 270
267 def set_data(self, key, value): 271 def set_data(self, key, value):
268 if self.state: 272 if self.state:
269 self.state.set_data(self.state_key, key, value) 273 self.state.set_data(self.state_key, key, value)
270 274
484 assert self.scene is None 488 assert self.scene is None
485 self.scene = scene 489 self.scene = scene
486 if self.folder is None: 490 if self.folder is None:
487 self.folder = scene.FOLDER 491 self.folder = scene.FOLDER
488 self.game = scene.game 492 self.game = scene.game
489 self.set_state(self.game.data)
490 for interact in self.interacts.itervalues(): 493 for interact in self.interacts.itervalues():
491 interact.set_thing(self) 494 interact.set_thing(self)
492 self.set_interact() 495 self.set_interact()
493 496
494 def set_interact(self): 497 def set_interact(self):