7 from kivy.app import App
8 from kivy.logger import Logger, LoggerHistory
9 from kivy.uix.widget import Widget
10 from kivy.uix.floatlayout import FloatLayout
11 from kivy.graphics import Color, Rectangle
13 from erdslangetjie.data import filepath, load
14 from erdslangetjie.level import Level
20 class EditorWindow(FloatLayout):
22 def __init__(self, level):
23 super(EditorWindow, self).__init__(size=(800, 600))
24 if os.path.exists(filepath(level)):
25 level_data = load(level)
27 elif os.path.exists(filepath('levels/' + level)):
28 level_data = load('levels/' + level)
29 self.level = 'levels/' + level
31 print 'Unable to find %s - treating this as a new level' % level
32 level_data = load('levels/blank.txt')
33 if 'levels/' in level:
36 self.level = 'levels/' + level
37 self.level_obj = Level(level_data)
39 self.level_obj.load_tiles()
43 tiles = self.level_obj.get_tiles()
45 for tile_line in tiles:
47 for tile in tile_line:
48 node = Widget(size=(TILE_SIZE, TILE_SIZE), pos=(bx, by))
51 Rectangle(pos=node.pos, size=node.size,
60 def __init__(self, level):
62 super(EditorApp, self).__init__()
65 editor = EditorWindow(self.level)
75 # Uncomment to silence excessive logging
76 #for hdlr in Logger.handlers[:]:
77 # if not isinstance(hdlr, LoggerHistory):
78 # Logger.removeHandler(hdlr)
79 EditorApp(level).run()
82 if __name__ == '__main__':