self.level = level
else:
self.level = 'levels/' + level
- self.level_obj = Level(level_data)
+ self.level_obj = Level(level_data, self.level)
level_data.close()
self.level_obj.load_tiles()
self.draw_save_button()
def _draw_tile(self, tile_pos, tile):
+ if tile_pos in self.nodes:
+ self.remove_widget(self.nodes[tile_pos])
node = Widget(size=(TILE_SIZE, TILE_SIZE), pos=tile_pos)
node.bind(on_touch_down=self.change_node)
node.bind(on_touch_move=self.change_node)
try:
self.level_obj.validate()
except RuntimeError as err:
- print err
popup = Popup(title='Error',
content=Label(text='Level not valid: %s' % err),
size_hint=(.5, .5))
size_hint=(.5, .5))
popup.open()
-
def change_tool(self, label, ref):
self.tool = ref
self.draw_toolbar()
self.level_obj.set_tile_type(tile_pos, action)
for map_pos, new_tile in self.level_obj.get_changed_tiles():
node_pos = (map_pos[0] * TILE_SIZE, map_pos[1] * TILE_SIZE)
- old_node = self.nodes[node_pos]
- self.remove_widget(old_node)
self._draw_tile(node_pos, new_tile)
class EditorApp(App):
+ title = "Bane's Befuddlement Level Editor"
+
def __init__(self, level):
self.level = level
super(EditorApp, self).__init__()