Unity PlayerPrefs 功能拓展

 Unity版本:2020.3.12f1

Unity自帶的PlayerPrefs默認情況下並不支持本地持久化除String、Int、Float之外的數據類型,如果我們需要通過PlayerPrefs保存其它的任何數據類型,可以通過新建一個自定類並繼承PlayerPrefs來對其進行功能拓展。

這裡就以Bool和Color爲例進行拓展。

這些拓展方法本質上還是基於了它原本自帶String、Int、Float的Get/Set,例如,可以將Bool轉換爲Int整型(false爲0,true爲1)並使用SetInt進行保存。

由於此Class繼承了PlayerPrefs,因此調用SetInt方法時可以省略“PlayerPrefs.”

拓展Bool

拓展Color方法與Bool思路類似,只是將Color轉換成Color的Hex十六進制值並使用SetString進行持久化保存。

拓展Color

使用方法與GetSetFloat/Int/String等自帶方法相同。
示例:
使用方法示例

注意:這裡應當調用PlayerPrefsEX類,而不是自帶的PlayerPrefs。

參考資料

留言