ro-webgl/Assets/Lua/Managers/PlayerPrefsMgr.lua
2021-12-21 09:40:39 +08:00

138 lines
3.7 KiB
Lua

--[[
临时数据或者不太重要的数据,存储本地
封装接口,后续可以做数据加密
]]
local PlayerPrefsMgr = class("PlayerPrefsMgr")
local PlayerPrefs = UnityEngine.PlayerPrefs
function PlayerPrefsMgr:Destroy()
PlayerPrefs.Save()
end
function PlayerPrefsMgr:HasGlobalKey(key)
return PlayerPrefs.HasKey(key)
end
function PlayerPrefsMgr:DeleteGlobalKey(key)
return PlayerPrefs.DeleteKey(key)
end
function PlayerPrefsMgr:GetGlobalInt(key, defaultValue)
defaultValue = defaultValue or 0
return PlayerPrefs.GetInt(key, defaultValue)
end
function PlayerPrefsMgr:SetGlobalInt(key, value)
value = value or 0
return PlayerPrefs.SetInt(key, value)
end
function PlayerPrefsMgr:GetGlobalBoolean(key, defaultValue)
local sureValue = defaultValue
if self:HasGlobalKey(key) then
sureValue = (self:GetGlobalInt(key, 0) == 1)
end
return sureValue
end
function PlayerPrefsMgr:SetGlobalBoolean(key, value)
local sureValue = value and 1 or 0
return self:SetGlobalInt(key, sureValue)
end
function PlayerPrefsMgr:GetGlobalFloat(key, defaultValue)
defaultValue = defaultValue or 0
return PlayerPrefs.GetFloat(key, defaultValue)
end
function PlayerPrefsMgr:SetGlobalFloat(key, value)
value = value or 0
return PlayerPrefs.SetFloat(key, value)
end
function PlayerPrefsMgr:GetGlobalString(key, defaultValue)
defaultValue = defaultValue or ''
return PlayerPrefs.GetString(key, defaultValue)
end
function PlayerPrefsMgr:SetGlobalString(key, value)
value = value or ''
return PlayerPrefs.SetString(key, value)
end
function PlayerPrefsMgr:HasKey(key)
local correctKey = self:CurUserKey(key)
return PlayerPrefs.HasKey(correctKey)
end
function PlayerPrefsMgr:DeleteKey(key)
local correctKey = self:CurUserKey(key)
return PlayerPrefs.DeleteKey(correctKey)
end
function PlayerPrefsMgr:GetInt(key, defaultValue)
local correctKey = self:CurUserKey(key)
defaultValue = defaultValue or 0
return PlayerPrefs.GetInt(correctKey, defaultValue)
end
function PlayerPrefsMgr:SetInt(key, value)
local correctKey = self:CurUserKey(key)
value = value or 0
return PlayerPrefs.SetInt(correctKey, value)
end
function PlayerPrefsMgr:GetBoolean(key, defaultValue)
local correctKey = self:CurUserKey(key)
local sureValue = defaultValue
if self:HasKey(correctKey) then
sureValue = (self:GetInt(correctKey, 0) == 1)
end
return sureValue
end
function PlayerPrefsMgr:SetBoolean(key, value)
local correctKey = self:CurUserKey(key)
local sureValue = value and 1 or 0
return self:SetInt(correctKey, sureValue)
end
function PlayerPrefsMgr:GetFloat(key, defaultValue)
local correctKey = self:CurUserKey(key)
defaultValue = defaultValue or 0
return PlayerPrefs.GetFloat(correctKey, defaultValue)
end
function PlayerPrefsMgr:SetFloat(key, value)
local correctKey = self:CurUserKey(key)
value = value or 0
return PlayerPrefs.SetFloat(correctKey, value)
end
function PlayerPrefsMgr:GetString(key, defaultValue)
local correctKey = self:CurUserKey(key)
defaultValue = defaultValue or ''
return PlayerPrefs.GetString(correctKey, defaultValue)
end
function PlayerPrefsMgr:SetString(key, value)
local correctKey = self:CurUserKey(key)
value = value or ''
return PlayerPrefs.SetString(correctKey, value)
end
function PlayerPrefsMgr:CurUserKey(key)
local uid = ManagerContainer.DataMgr.UserData:GetUserId()
if uid then
return tostring(uid) .. key
else
return key
end
end
return PlayerPrefsMgr