X-Git-Url: https://git.ctpug.org.za/?p=erdslangetjie.git;a=blobdiff_plain;f=erdslangetjie%2Feditor%2Feditor.py;h=ecdbec7cc61f3c3cc36f65248d656042ba7a60ee;hp=998ad4057e90e4d4c3ea4b0cfad29a9e3eb42474;hb=bbbe943d8b35fd351814aaef8f73a171c0f600b3;hpb=df49c5d20f821b566981248725ba23cb10858655 diff --git a/erdslangetjie/editor/editor.py b/erdslangetjie/editor/editor.py index 998ad40..ecdbec7 100644 --- a/erdslangetjie/editor/editor.py +++ b/erdslangetjie/editor/editor.py @@ -2,6 +2,7 @@ import sys import os import kivy from erdslangetjie.data import filepath, load +from erdslangetjie.level import Level kivy.require('1.6.0') @@ -9,24 +10,47 @@ from kivy.app import App from kivy.logger import Logger, LoggerHistory from kivy.uix.widget import Widget +from kivy.uix.floatlayout import FloatLayout +from kivy.uix.scatter import Scatter +from kivy.graphics import Color, Rectangle -class EditorWindow(Widget): +class EditorWindow(FloatLayout): + def __init__(self, level): + super(EditorWindow, self).__init__() if os.path.exists(filepath(level)): - self.level_data = load(level) + level_data = load(level) self.level = level elif os.path.exists(filepath('levels/' + level)): - self.level_data = load('levels/' + level) + level_data = load('levels/' + level) self.level = 'levels/' + level else: print 'Unable to find %s - treating this as a new level' % level - self.level_data = load('levels/blank.txt') + level_data = load('levels/blank.txt') if 'levels/' in level: self.level = level else: self.level = 'levels/' + level - super(EditorWindow, self).__init__() + self.level_obj = Level() + self.level_obj.load(level_data) + level_data.close() + + def build(self): + self.clear_widgets() + tiles = self.level_obj.get_tiles() + tile_size = 24 + bx, by = 0, 0 + for tile_line in tiles: + bx = 0 + for tile in tile_line: + node = Scatter(pos=(bx, by), size=(tile_size, tile_size)) + with node.canvas: + Color(1, 1, 1) + Rectangle(size=node.size, texture=tile.texture) + self.add_widget(node) + bx += tile_size + by += tile_size class EditorApp(App): @@ -36,7 +60,9 @@ class EditorApp(App): super(EditorApp, self).__init__() def build(self): - return EditorWindow(self.level) + editor = EditorWindow(self.level) + editor.build() + return editor def main():