+
+TILE_SIZE = 24
+
+
+class EditorWindow(FloatLayout):
+
+ def __init__(self, level):
+ super(EditorWindow, self).__init__(size=(800, 600))
+ if os.path.exists(filepath(level)):
+ level_data = load(level)
+ self.level = level
+ elif os.path.exists(filepath('levels/' + level)):
+ level_data = load('levels/' + level)
+ self.level = 'levels/' + level
+ else:
+ print 'Unable to find %s - treating this as a new level' % level
+ level_data = load('levels/blank.txt')
+ if 'levels/' in level:
+ self.level = level
+ else:
+ self.level = 'levels/' + level
+ self.level_obj = Level(level_data)
+ level_data.close()
+ self.level_obj.load_tiles()
+
+ def build(self):
+ self.clear_widgets()
+ tiles = self.level_obj.get_tiles()
+ bx, by = 0, 0
+ for tile_line in tiles:
+ bx = 0
+ for tile in tile_line:
+ node = Widget(size=(TILE_SIZE, TILE_SIZE), pos=(bx, by))
+ with node.canvas:
+ Color(1, 1, 1)
+ Rectangle(pos=node.pos, size=node.size,
+ texture=tile.texture)
+ self.add_widget(node)
+ bx += TILE_SIZE
+ by += TILE_SIZE