PlayerPrefsMgr.lua 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. --[[
  2. 临时数据或者不太重要的数据,存储本地
  3. 封装接口,后续可以做数据加密
  4. ]]
  5. local PlayerPrefsMgr = class("PlayerPrefsMgr")
  6. local PlayerPrefs = UnityEngine.PlayerPrefs
  7. function PlayerPrefsMgr:Destroy()
  8. PlayerPrefs.Save()
  9. end
  10. function PlayerPrefsMgr:HasGlobalKey(key)
  11. return PlayerPrefs.HasKey(key)
  12. end
  13. function PlayerPrefsMgr:DeleteGlobalKey(key)
  14. return PlayerPrefs.DeleteKey(key)
  15. end
  16. function PlayerPrefsMgr:GetGlobalInt(key, defaultValue)
  17. defaultValue = defaultValue or 0
  18. return PlayerPrefs.GetInt(key, defaultValue)
  19. end
  20. function PlayerPrefsMgr:SetGlobalInt(key, value)
  21. value = value or 0
  22. return PlayerPrefs.SetInt(key, value)
  23. end
  24. function PlayerPrefsMgr:GetGlobalBoolean(key, defaultValue)
  25. local sureValue = defaultValue
  26. if self:HasGlobalKey(key) then
  27. sureValue = (self:GetGlobalInt(key, 0) == 1)
  28. end
  29. return sureValue
  30. end
  31. function PlayerPrefsMgr:SetGlobalBoolean(key, value)
  32. local sureValue = value and 1 or 0
  33. return self:SetGlobalInt(key, sureValue)
  34. end
  35. function PlayerPrefsMgr:GetGlobalFloat(key, defaultValue)
  36. defaultValue = defaultValue or 0
  37. return PlayerPrefs.GetFloat(key, defaultValue)
  38. end
  39. function PlayerPrefsMgr:SetGlobalFloat(key, value)
  40. value = value or 0
  41. return PlayerPrefs.SetFloat(key, value)
  42. end
  43. function PlayerPrefsMgr:GetGlobalString(key, defaultValue)
  44. defaultValue = defaultValue or ''
  45. return PlayerPrefs.GetString(key, defaultValue)
  46. end
  47. function PlayerPrefsMgr:SetGlobalString(key, value)
  48. value = value or ''
  49. return PlayerPrefs.SetString(key, value)
  50. end
  51. function PlayerPrefsMgr:HasKey(key)
  52. local correctKey = self:CurUserKey(key)
  53. return PlayerPrefs.HasKey(correctKey)
  54. end
  55. function PlayerPrefsMgr:DeleteKey(key)
  56. local correctKey = self:CurUserKey(key)
  57. return PlayerPrefs.DeleteKey(correctKey)
  58. end
  59. function PlayerPrefsMgr:GetInt(key, defaultValue)
  60. local correctKey = self:CurUserKey(key)
  61. defaultValue = defaultValue or 0
  62. return PlayerPrefs.GetInt(correctKey, defaultValue)
  63. end
  64. function PlayerPrefsMgr:SetInt(key, value)
  65. local correctKey = self:CurUserKey(key)
  66. value = value or 0
  67. return PlayerPrefs.SetInt(correctKey, value)
  68. end
  69. function PlayerPrefsMgr:GetBoolean(key, defaultValue)
  70. local correctKey = self:CurUserKey(key)
  71. local sureValue = defaultValue
  72. if self:HasKey(correctKey) then
  73. sureValue = (self:GetInt(correctKey, 0) == 1)
  74. end
  75. return sureValue
  76. end
  77. function PlayerPrefsMgr:SetBoolean(key, value)
  78. local correctKey = self:CurUserKey(key)
  79. local sureValue = value and 1 or 0
  80. return self:SetInt(correctKey, sureValue)
  81. end
  82. function PlayerPrefsMgr:GetFloat(key, defaultValue)
  83. local correctKey = self:CurUserKey(key)
  84. defaultValue = defaultValue or 0
  85. return PlayerPrefs.GetFloat(correctKey, defaultValue)
  86. end
  87. function PlayerPrefsMgr:SetFloat(key, value)
  88. local correctKey = self:CurUserKey(key)
  89. value = value or 0
  90. return PlayerPrefs.SetFloat(correctKey, value)
  91. end
  92. function PlayerPrefsMgr:GetString(key, defaultValue)
  93. local correctKey = self:CurUserKey(key)
  94. defaultValue = defaultValue or ''
  95. return PlayerPrefs.GetString(correctKey, defaultValue)
  96. end
  97. function PlayerPrefsMgr:SetString(key, value)
  98. local correctKey = self:CurUserKey(key)
  99. value = value or ''
  100. return PlayerPrefs.SetString(correctKey, value)
  101. end
  102. function PlayerPrefsMgr:CurUserKey(key)
  103. local uid = ManagerContainer.DataMgr.UserData:GetUserId()
  104. if uid then
  105. return tostring(uid) .. key
  106. else
  107. return key
  108. end
  109. end
  110. return PlayerPrefsMgr