84124d7f7b
[FIX] Corregida col·lisió en la fireball [CHG] Mogut debug a game_debug [NEW] Stage manager per a gestió de nivells
55 lines
1.7 KiB
Lua
55 lines
1.7 KiB
Lua
stages = {}
|
|
|
|
stages.stage = 1
|
|
stages.stage_loaded = 0
|
|
stages.last_stage = 1
|
|
|
|
stages.actors={}
|
|
stages.boss_loaded = false
|
|
stages.boss_ready = false
|
|
stages.boss_finished = false
|
|
boss = nil
|
|
|
|
stages.stage_init = nil
|
|
stages.stage_update = nil
|
|
stages.stage_draw_back = nil
|
|
stages.stage_draw_middle = nil
|
|
stages.stage_draw_front = nil
|
|
|
|
function stages.load_stage( init )
|
|
init = init or false
|
|
stages.stage_init = stages["stage"..stages.stage.."_init"]
|
|
stages.stage_update = stages["stage"..stages.stage.."_update"]
|
|
stages.stage_draw_back = stages["stage"..stages.stage.."_draw_back"]
|
|
stages.stage_draw_middle = stages["stage"..stages.stage.."_draw_middle"]
|
|
stages.stage_draw_front = stages["stage"..stages.stage.."_draw_front"]
|
|
stages.stage_loaded = stages.stage
|
|
stages.boss_ready = false
|
|
stages.boss_loaded = false
|
|
if init then stages.stage_init() end
|
|
end
|
|
|
|
function stages.load_boss_stage()
|
|
stages.stage_init = stages["stage"..stages.stage.."_boss_init"]
|
|
stages.stage_update = stages["stage"..stages.stage.."_boss_update"]
|
|
stages.stage_draw_back = stages["stage"..stages.stage.."_boss_draw_back"]
|
|
stages.stage_draw_middle = stages["stage"..stages.stage.."_boss_draw_middle"]
|
|
stages.stage_draw_front = stages["stage"..stages.stage.."_boss_draw_front"]
|
|
stages.boss_loaded = true
|
|
end
|
|
|
|
function stages.unload_boss_stage()
|
|
stages.boss_ready = false
|
|
stages.boss_finished = false
|
|
stages.boss_loaded = false
|
|
stages.load_stage(false)
|
|
end
|
|
|
|
function stages.next_stage()
|
|
stages.stage = stages.stage + 1
|
|
if stages.stage>stages.last_stage then
|
|
states:executar("title",false)
|
|
else
|
|
stages.load_stage(true)
|
|
end
|
|
end |