Index: nacltoons/data/res/loader.lua |
diff --git a/nacltoons/data/res/loader.lua b/nacltoons/data/res/loader.lua |
index 62acc017c7028391728c2bb509fdbefbc4da39e2..b2bd38f1bb40013775fa3b37b5b880c7ebb2a6e2 100644 |
--- a/nacltoons/data/res/loader.lua |
+++ b/nacltoons/data/res/loader.lua |
@@ -173,19 +173,26 @@ function LoadLevel(layer, level_number) |
for _, sprite_def in ipairs(level_obj.sprites) do |
RegisterObjectDef(sprite_def) |
sprite_def.node = drawing.CreateSprite(sprite_def) |
- layer:addChild(sprite_def.node, 1, sprite_def.tag) |
LoadScript(sprite_def) |
end |
-- Load shapes |
- if level_obj.shapes then |
- for _, shape_def in ipairs(level_obj.shapes) do |
- RegisterObjectDef(shape_def) |
- shape_def.node = drawing.CreateShape(shape_def) |
- LoadScript(shape_def) |
+ local function LoadShapes(shapes) |
+ for _, shape_def in ipairs(shapes) do |
+ if #shape_def > 0 then |
+ LoadShapes(shape_def) |
+ else |
+ RegisterObjectDef(shape_def) |
+ shape_def.node = drawing.CreateShape(shape_def) |
+ LoadScript(shape_def) |
+ end |
end |
end |
+ if level_obj.shapes then |
+ LoadShapes(level_obj.shapes) |
+ end |
+ |
-- Load custom level script |
level_obj.node = level_obj.layer |
LoadScript(level_obj) |