datas: use the new level system

This commit is contained in:
Kazhnuz 2019-03-10 10:20:40 +01:00
parent 2858de16b0
commit 5b87331143
7 changed files with 14 additions and 55 deletions

View File

@ -1,8 +1,10 @@
return {
realm = "Mystery Zone",
realm = "Unda",
name = "Coral Sands",
x = 6,
y = 10,
mapfile = "test-map2",
music = "sunnyparadise1.mp3",
gravity = 1,
autorun = false,
}

View File

@ -1,20 +1 @@
return {
[1] = {
realm = "Mystery Zone",
name = "Test Level",
missions = {
[1] = {
missionName = "GameTest",
description = "Test and debug the game !",
mapfile = "test-map2",
music = "",
gravity = 0,
autorun = 0,
objectiveID = 0,
startx = 48,
starty = 272/2,
music = "sunnyparadise1.mp3"
}
}
}
}
return {"coralsands"}

View File

@ -1 +0,0 @@
return {"coralsands"}

View File

@ -45,15 +45,6 @@ function menu.Main:new(scene)
self:getFocus()
end
function menu.Levels:new(scene)
menu.Levels.super.new(self, scene, "levelselect")
for i,v in ipairs(leveldata) do
widgets.Menu(self,v.realm .. " - " .. v.name, 4, i)
end
widgets.Menu(self,"Back", "mainmenu")
self:setCancelWidget()
end
function menu.Debug:new(scene)
menu.Debug.super.new(self, scene, "debug")
widgets.Menu(self,"Manage Pigs", "debugpigs")
@ -64,8 +55,8 @@ end
function menu.Levels:new(scene)
menu.Levels.super.new(self, scene, "levels")
for i,v in ipairs(leveldata[1].missions) do
widgets.Mission(self,v.missionName, 1, i)
for i,v in ipairs(leveldata) do
widgets.Mission(self,v, 1, i)
end
widgets.Menu(self,"Back", "mainmenu")
self:setCancelWidget()

View File

@ -24,15 +24,16 @@ function Widgets.Menu:action()
self.scene:selectMenu(self.menuID)
end
function Widgets.Mission:new(menu, name, levelID, missionID)
Widgets.Mission.super.new(self, menu, name)
function Widgets.Mission:new(menu, levelID)
local data = require("datas.levels." .. levelID)
Widgets.Mission.super.new(self, menu, data.name)
self.menusystem = menusystem
self.levelID = levelID
self.missionID = missionID
end
function Widgets.Mission:action()
scenes.Levels(self.levelID, self.missionID)
scenes.Levels(self.levelID)
end
function Widgets.AddPig:new(menu)

View File

@ -34,26 +34,11 @@ end
function Level:loadMission(levelID, missionID)
local datas, missiondatas
self.datas = {}
datas = leveldatas[levelID]
self.datas.realm = datas.realm
self.datas.level = datas.name
self.datas = require("datas.levels." .. levelID)
missiondatas = datas.missions[missionID]
self.datas.missions = {}
self.datas.missions.name = missiondatas.missionName
self.datas.missions.desc = missiondatas.description
self.datas.missions.map = missiondatas.mapfile
self.datas.missions.gravity = missiondatas.gravity
self.datas.missions.autorun = missiondatas.autorun
self.datas.missions.objectiveID = missiondatas.objectiveID
self.datas.missions.startx = missiondatas.startx
self.datas.missions.starty = missiondatas.starty
self.datas.missions.music = missiondatas.music
self.world = World(self, self.datas.missions.map)
self.world = World(self, self.datas.mapfile)
self.world:load()
self.assets:setMusic("assets/music/" .. self.datas.missions.music)
self.assets:setMusic("assets/music/" .. self.datas.music)
self:launchMission()
end

View File

@ -26,7 +26,7 @@ function WorldMap:addLevels()
self.assets:addImage("leveldot", "assets/sprites/gui/leveldot.png")
self.leveldots = {}
local levels = require "datas.levels.list"
local levels = require "datas.levels"
for i,v in ipairs(levels) do
LevelDot(self, v)
end