feat: load map data from layout files
This commit is contained in:
parent
3bc2ea3e41
commit
4aeab15340
6 changed files with 38 additions and 31 deletions
|
@ -0,0 +1,14 @@
|
|||
return {
|
||||
datas = {
|
||||
zone = "forest",
|
||||
bypass_zone = true,
|
||||
bypass_data = {
|
||||
tiles = 3,
|
||||
background = nil
|
||||
}
|
||||
},
|
||||
layout = {{"self", {00}}, {"basics", {00, 00}},},
|
||||
parts = {
|
||||
[0] = {{"basics", {01}}, {"basics", {00}}}
|
||||
}
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
return {
|
||||
datas = {
|
||||
zone = "forest",
|
||||
bypass_zone = false,
|
||||
bypass_data = {
|
||||
name = nil,
|
||||
borders = 3,
|
||||
tiles = 3,
|
||||
background = nil,
|
||||
music = nil
|
||||
},
|
||||
missiondata = {
|
||||
leveltype = "loop",
|
||||
missiontype = "goal",
|
||||
turns = 4
|
||||
}
|
||||
},
|
||||
layout = {{"self", {00}}, {"basics", {00, 00}},},
|
||||
parts = {
|
||||
[0] = {{"basics", {01}}, {"basics", {00}}}
|
||||
},
|
||||
endless_parts = {
|
||||
{"basics", 00},
|
||||
{"self", 00}
|
||||
}
|
||||
}
|
|
@ -10,9 +10,28 @@ function ShootMap:new(world, maptype, mapname)
|
|||
ShootMap.super.new(self, world)
|
||||
|
||||
self:setPadding(0, 0, 0, 0)
|
||||
self.textureId = zoneDatas[mapname].tiles
|
||||
self.background = zoneDatas[mapname].background
|
||||
self:generateTextures(self.textureId, self.background)
|
||||
self:getLevelData(mapname)
|
||||
self:generateTextures(self.datas.tiles, self.datas.background)
|
||||
end
|
||||
|
||||
function ShootMap:getLevelData(mapname)
|
||||
local file = file or "testlevel.test1"
|
||||
local level = require("datas.gamedata.maps.shoot." .. file)
|
||||
|
||||
self.zone = level.datas.zone
|
||||
|
||||
local currentZone_datas = zoneDatas[self.zone]
|
||||
local bypass_data = level.datas.bypass_data
|
||||
|
||||
self.datas = {}
|
||||
|
||||
if (level.datas.bypass_zone) then
|
||||
self.datas.tiles = bypass_data.tiles or currentZone_datas.tiles
|
||||
self.datas.background = bypass_data.background or currentZone_datas.background
|
||||
else
|
||||
self.datas = currentZone_datas
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function ShootMap:loadCollisions()
|
||||
|
|
|
@ -33,9 +33,9 @@ function MovePlayer:new()
|
|||
end
|
||||
|
||||
function MovePlayer:initWorld()
|
||||
--ShootWorld(self, "coast")
|
||||
ShootWorld(self, "testlevel.test1")
|
||||
--BattleWorld(self, "ebeach")
|
||||
TestWorld(self)
|
||||
--TestWorld(self)
|
||||
end
|
||||
|
||||
return MovePlayer
|
||||
|
|
Loading…
Reference in a new issue