X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fscenes%2Fscene.py;h=4841ab5a628cb3a318ab0c947d1d537f9f0ee03b;hb=237c4215b45bde3e5f6fe769f7b8f2955590e34e;hp=f0acf21bdf9f62a1f9fef85a1f3ce4771234c116;hpb=24597ee01bda34802e020147c48fba7d131f0698;p=naja.git diff --git a/naja/scenes/scene.py b/naja/scenes/scene.py index f0acf21..4841ab5 100644 --- a/naja/scenes/scene.py +++ b/naja/scenes/scene.py @@ -2,6 +2,8 @@ Base Scene class. """ +from naja.widgets.base import Container + class Scene(object): """ @@ -9,8 +11,12 @@ class Scene(object): E.g. Splash screen, game board, credits, win, lose. """ - def __init__(self): - self.widgets = [] + def __init__(self, state): + self.state = state + self.container = Container() + + def add(self, widget): + self.container.add(widget) def enter(self): pass @@ -18,12 +24,17 @@ class Scene(object): def exit(self): pass - def render(self, surface): - self.render_widgets(surface) + def render_scene(self, surface): + pass - def render_widgets(self, surface): - for widget in self.widgets: - widget.render(surface) + def render(self, surface): + self.render_scene(surface) + self.container.render(surface) def handle_event(self, ev): + if self.container.handle_event(ev): + return + self.handle_scene_event(ev) + + def handle_scene_event(ev): pass