42 lines
828 B
Lua
42 lines
828 B
Lua
local ServerGameData = {}
|
|
|
|
function ServerGameData:init()
|
|
if self.isInit then
|
|
return
|
|
end
|
|
self.isInit = true
|
|
self:initServerData("PlayerData", "app/server/data/server_player_data")
|
|
end
|
|
|
|
function ServerGameData:initData()
|
|
self:init()
|
|
local isNewPlayer = LocalData:getIsNewPlayer()
|
|
if isNewPlayer then
|
|
for k, v in pairs(self.dataMap) do
|
|
v:_loadNewPlayerData()
|
|
end
|
|
LocalData:setNotNewPlayer()
|
|
else
|
|
for k, v in pairs(self.dataMap) do
|
|
v:_loadLocalData()
|
|
end
|
|
end
|
|
end
|
|
|
|
function ServerGameData:initServerData(name, path)
|
|
self[name] = require(path):create()
|
|
if self.dataMap == nil then
|
|
self.dataMap = {}
|
|
end
|
|
self.dataMap[name] = self[name]
|
|
end
|
|
|
|
function ServerGameData:getData()
|
|
local data = {}
|
|
for k, v in pairs(self.dataMap) do
|
|
data[k] = v:getCloneData()
|
|
end
|
|
return data
|
|
end
|
|
|
|
return ServerGameData |