fix: miner serialize/unserialize

This commit is contained in:
Guillaume ARM 2024-05-11 16:49:25 +02:00
parent 9e3a356eca
commit 809f2a78c0

View File

@ -30,7 +30,7 @@ local function saveMinerState()
mission = miner.mission,
started = miner.started,
finished = miner.finished,
lastPositionState = miner.lastPositionState,
lastPositionState = miner.lastPositionState and textutils.serializeJSON(miner.lastPositionState),
targetY = miner.targetY
}
@ -40,7 +40,7 @@ local function saveMinerState()
error('saveMinerState: cannot open .minerstate file!')
end
file.write(textutils.serialize(minerState))
file.write(textutils.serializeJSON(minerState))
file.close()
end
@ -54,14 +54,20 @@ local function loadMinerState()
local serializedMinerState = file.readAll()
file.close()
local minerState = unserialize(serializedMinerState)
local minerState = textutils.unserializeJSON(serializedMinerState)
local lastPositionState = nil
if minerState.lastPositionState then
lastPositionState = minerState.lastPositionState
end
miner = {
robot = robotApi.create(minerState.robotState),
mission = minerState.mission,
started = minerState.started,
finished = minerState.finished,
lastPositionState = minerState.lastPositionState,
lastPositionState = lastPositionState,
targetY = minerState.targetY
}
end