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