fortunes_foundation/state_ironman.lua

41 lines
917 B
Lua
Raw Normal View History

2024-02-11 01:44:38 +00:00
state_ironman=klass()
2024-02-11 04:40:12 +00:00
function state_ironman:init(sequence)
self.sequence=sequence
2024-02-11 01:44:38 +00:00
self.level=1
end
function state_ironman:enter() self:on_enter() end
function state_ironman:exit() end
2024-02-11 06:01:05 +00:00
function state_ironman:reenter(round)
if round.outcome=="win" then
self.level+=1
completion_tracker:advance_completion_level(round.board:get_completion_level())
2024-02-11 06:01:05 +00:00
elseif round.outcome=="menu" then
self.done=true
elseif round.outcome=="restart" then
else
assert(false,"unrecognized outcome: "..round.outcome)
end
self:on_enter()
end
2024-02-11 01:44:38 +00:00
function state_ironman:suspend() end
function state_ironman:on_enter()
local level=self.level
2024-02-11 06:01:05 +00:00
if (self.done) return
2024-02-11 04:40:12 +00:00
if level <= #self.sequence then
local w=self.sequence[level]()
main.state_manager:push(state_gameround:new(w))
2024-02-11 06:01:05 +00:00
else
self.done=true
2024-02-11 01:44:38 +00:00
end
end
function state_ironman:update()
assert(false,"wtf")
end
function state_ironman:draw()
assert(false,"wtf2")
end