Mercurial > mamba
comparison mamba/habitats/editor.py @ 270:3c95ba7408f1
Add protected level name list. Add load & new buttons
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Thu, 15 Sep 2011 13:25:00 +0200 |
parents | 1e8dca95c48a |
children | a061dd62127c |
comparison
equal
deleted
inserted
replaced
269:adaaea7a8fef | 270:3c95ba7408f1 |
---|---|
10 #from mamba.widgets.messagebox import MessageBox | 10 #from mamba.widgets.messagebox import MessageBox |
11 from mamba.widgets.entrybox import EntryBox | 11 from mamba.widgets.entrybox import EntryBox |
12 from mamba.widgets.toollist import ToolListWidget | 12 from mamba.widgets.toollist import ToolListWidget |
13 from mamba.level import Level, TILE_MAP, THING_MAP | 13 from mamba.level import Level, TILE_MAP, THING_MAP |
14 from mamba.data import check_level_exists | 14 from mamba.data import check_level_exists |
15 from mamba.constants import SCREEN, EDIT_SCREEN, NAME, ESCAPE_KEYS | 15 from mamba.constants import (SCREEN, EDIT_SCREEN, NAME, ESCAPE_KEYS, |
16 RESERVED_NAMES) | |
16 | 17 |
17 MAX_TOOLS = 8 | 18 MAX_TOOLS = 6 |
18 | 19 |
19 | 20 |
20 class EditorHabitat(Habitat): | 21 class EditorHabitat(Habitat): |
21 def __init__(self, level_name): | 22 def __init__(self, level_name): |
22 super(EditorHabitat, self).__init__(EDIT_SCREEN) | 23 super(EditorHabitat, self).__init__(EDIT_SCREEN) |
128 mode_button.add_callback('clicked', self.change_toolbar) | 129 mode_button.add_callback('clicked', self.change_toolbar) |
129 self.container.add(mode_button) | 130 self.container.add(mode_button) |
130 button_height += mode_button.surface.get_height() + button_padding | 131 button_height += mode_button.surface.get_height() + button_padding |
131 button_height += 2 | 132 button_height += 2 |
132 | 133 |
133 save_button = TextButton((button_left, button_height), "Save Level") | 134 new = TextButton((button_left, button_height), "New") |
134 save_button.add_callback('clicked', self.save) | 135 new.add_callback('clicked', self.new) |
135 self.container.add(save_button) | 136 self.container.add(new) |
137 load = TextButton((button_left + 60, button_height), "Load") | |
138 load.add_callback('clicked', self.load) | |
139 self.container.add(load) | |
140 | |
141 save = TextButton((button_left + 120, button_height), "Save") | |
142 save.add_callback('clicked', self.save) | |
143 self.container.add(save) | |
136 | 144 |
137 def change_tool(self, ev, widget, new_tool, text): | 145 def change_tool(self, ev, widget, new_tool, text): |
138 self.edit_widget.set_tool(new_tool) | 146 self.edit_widget.set_tool(new_tool) |
139 self.current_tool.text = 'Tool: %s' % text | 147 self.current_tool.text = 'Tool: %s' % text |
140 self.current_tool.prepare() | 148 self.current_tool.prepare() |
141 | 149 |
142 def save(self, ev, widget): | 150 def save(self, ev, widget): |
151 if self.level.level_name in RESERVED_NAMES: | |
152 print "Can't save over reserved name" | |
153 return | |
143 self.level.save_level() | 154 self.level.save_level() |
155 | |
156 def new(self, ev, widget): | |
157 pass | |
158 | |
159 def load(self, ev, widget): | |
160 pass | |
144 | 161 |
145 def change_toolbar(self, ev, widget): | 162 def change_toolbar(self, ev, widget): |
146 if self.mode == 'Tile': | 163 if self.mode == 'Tile': |
147 self.mode = 'Thing' | 164 self.mode = 'Thing' |
148 elif self.mode == 'Thing': | 165 elif self.mode == 'Thing': |