@property
def level(self):
- return self._level["level"]
+ return self._state["level"]
@property
def roaches(self):
self._build_roach("roichard", quickness=3),
]
state["level"] = {
- "file": "level1.json",
+ "name": "level1",
}
return state
"attributes": attributes,
}
- def apply_event(self, *args, **kw):
- pass
+ def _apply_set(self, updates):
+ for name, value in updates.items():
+ parts = name.split(".")
+ obj = self._state
+ for p in parts[:-1]:
+ obj = obj[p]
+ obj[parts[-1]] = value
+
+ def apply_event(self, action, *args, **kw):
+ if action == "set":
+ return self._apply_set(*args, **kw)
+ raise ValueError("Unknown world event action: %r" % (action,))