feat: add internal mechanism to delete saves
This commit is contained in:
parent
37d685a7ea
commit
dbf14c59a3
1 changed files with 38 additions and 17 deletions
|
@ -40,24 +40,8 @@ Game.gui = require "game.modules.gui"
|
||||||
function Game:new()
|
function Game:new()
|
||||||
self.slot = -1
|
self.slot = -1
|
||||||
self.slotNumber = 3
|
self.slotNumber = 3
|
||||||
self.gametime = 0
|
|
||||||
|
|
||||||
self.characters = Characters(self)
|
|
||||||
self.ennemies = Ennemies(self)
|
|
||||||
self.skills = Skills(self)
|
|
||||||
self.loot = Loot(self)
|
|
||||||
self.cbs = CBSCore(self)
|
|
||||||
|
|
||||||
self:initPosition()
|
|
||||||
|
|
||||||
self.flags = {}
|
|
||||||
self.destroyedGizmo = {}
|
|
||||||
self.variables = {}
|
|
||||||
self.completion = 0
|
|
||||||
self.mapName = ""
|
|
||||||
self.actions = startdata.actions
|
|
||||||
|
|
||||||
self.version = "0.0.0"
|
self.version = "0.0.0"
|
||||||
|
self:resetData()
|
||||||
end
|
end
|
||||||
|
|
||||||
function Game:initPosition()
|
function Game:initPosition()
|
||||||
|
@ -151,6 +135,31 @@ function Game:addtoMetadata()
|
||||||
self:writeMetadata(metadata)
|
self:writeMetadata(metadata)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function Game:resetData()
|
||||||
|
self.gametime = 0
|
||||||
|
|
||||||
|
self.characters = Characters(self)
|
||||||
|
self.ennemies = Ennemies(self)
|
||||||
|
self.skills = Skills(self)
|
||||||
|
self.loot = Loot(self)
|
||||||
|
self.cbs = CBSCore(self)
|
||||||
|
|
||||||
|
self:initPosition()
|
||||||
|
|
||||||
|
self.flags = {}
|
||||||
|
self.destroyedGizmo = {}
|
||||||
|
self.variables = {}
|
||||||
|
self.completion = 0
|
||||||
|
self.mapName = ""
|
||||||
|
self.actions = startdata.actions
|
||||||
|
end
|
||||||
|
|
||||||
|
function Game:removeFromMetadata()
|
||||||
|
local metadata = self:getMetadata()
|
||||||
|
metadata[self.slot].exist = false
|
||||||
|
self:writeMetadata(metadata)
|
||||||
|
end
|
||||||
|
|
||||||
function Game:read(save_id)
|
function Game:read(save_id)
|
||||||
self.slot = save_id
|
self.slot = save_id
|
||||||
if (self.slot > 0) then
|
if (self.slot > 0) then
|
||||||
|
@ -159,10 +168,22 @@ function Game:read(save_id)
|
||||||
local loadedDatas = binser.readFile(filepath)
|
local loadedDatas = binser.readFile(filepath)
|
||||||
|
|
||||||
self:setData(loadedDatas[1])
|
self:setData(loadedDatas[1])
|
||||||
|
else
|
||||||
|
self:resetData()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function Game:deleteCurrentSave()
|
||||||
|
if (self.slot > 0) then
|
||||||
|
|
||||||
|
local filepath = self:getSaveFile(self.slot, false)
|
||||||
|
local success = love.filesystem.remove(filepath)
|
||||||
|
print(success)
|
||||||
|
self:removeFromMetadata()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function Game:write()
|
function Game:write()
|
||||||
if (self.slot > 0) then
|
if (self.slot > 0) then
|
||||||
local data = self:getData()
|
local data = self:getData()
|
||||||
|
|
Loading…
Reference in a new issue