Mercurial > mamba
diff mamba/habitats/editor.py @ 172:dabf13abb3fd
Add basic drawing to level editor
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Wed, 14 Sep 2011 00:51:41 +0200 |
parents | 77f1dae64019 |
children | 893fb9f8f468 |
line wrap: on
line diff
--- a/mamba/habitats/editor.py Tue Sep 13 23:52:39 2011 +0200 +++ b/mamba/habitats/editor.py Wed Sep 14 00:51:41 2011 +0200 @@ -15,7 +15,8 @@ def __init__(self, level_name): super(EditorHabitat, self).__init__(EDIT_SCREEN) self.level = Level(level_name) - self.container.add(EditLevelWidget(self.level)) + self.edit_widget = EditLevelWidget(self.level) + self.container.add(self.edit_widget) self.container.add_callback(KEYDOWN, self.keydown_event) def on_enter(self): @@ -47,6 +48,7 @@ button_height = 20 button_left = 820 button_padding = 10 + levelname = TextWidget( (button_left, button_height), 'Level: %s' % self.level.name, color='white') @@ -58,10 +60,18 @@ 'Tileset: %s' % self.level.tileset.name, color='white') self.container.add(tilesetname) button_height += tilesetname.surface.get_height() + button_padding + # TODO: Add Image widget for the current tool + self.current_tool = TextWidget((button_left, button_height), + 'Tool: Floor', color='white') + self.container.add(self.current_tool) + button_height += self.current_tool.surface.get_height() + button_height += button_padding floor_button = ImageButtonWidget( (button_left, button_height), self.level.tileset.floor, 'Floor', color='white') self.container.add(floor_button) + floor_button.add_callback('clicked', self.change_tool, + '.', 'Floor') button_height += floor_button.surface.get_height() + button_padding for tile_char in TILE_MAP: try: @@ -78,6 +88,13 @@ tile_button = ImageButtonWidget( (button_left, button_height), tile.image, text, color='white') + tile_button.add_callback('clicked', self.change_tool, + tile_char, text) self.container.add(tile_button) button_height += \ tile_button.surface.get_height() + button_padding + + def change_tool(self, ev, widget, new_tool, text): + self.edit_widget.set_tool(new_tool) + self.current_tool.text = 'Tool: %s' % text + self.current_tool.prepare()