4 from erdslangetjie.data import filepath, load
5 from erdslangetjie.level import Level
9 from kivy.app import App
10 from kivy.logger import Logger, LoggerHistory
11 from kivy.uix.widget import Widget
13 from kivy.uix.floatlayout import FloatLayout
14 from kivy.uix.scatter import Scatter
15 from kivy.graphics import Color, Rectangle
18 class EditorWindow(FloatLayout):
20 def __init__(self, level):
21 super(EditorWindow, self).__init__()
22 if os.path.exists(filepath(level)):
23 level_data = load(level)
25 elif os.path.exists(filepath('levels/' + level)):
26 level_data = load('levels/' + level)
27 self.level = 'levels/' + level
29 print 'Unable to find %s - treating this as a new level' % level
30 level_data = load('levels/blank.txt')
31 if 'levels/' in level:
34 self.level = 'levels/' + level
35 self.level_obj = Level()
36 self.level_obj.load(level_data)
41 tiles = self.level_obj.get_tiles()
44 for tile_line in tiles:
46 for tile in tile_line:
47 node = Scatter(pos=(bx, by), size=(tile_size, tile_size))
50 Rectangle(size=node.size, texture=tile.texture)
58 def __init__(self, level):
60 super(EditorApp, self).__init__()
63 editor = EditorWindow(self.level)
73 # Uncomment to silence excessive logging
74 #for hdlr in Logger.handlers[:]:
75 # if not isinstance(hdlr, LoggerHistory):
76 # Logger.removeHandler(hdlr)
77 EditorApp(level).run()
80 if __name__ == '__main__':