跳至主要内容

PlayerPrefsSaver

重要 注意 提醒

Coding Style wiki​


PlayerPrefsSaver 是 SaverSystem 內建的運行時儲存器 (繼承 Saver),以 UnityEngine.PlayerPrefs 作為儲存後端,每次 Save* 皆會自動呼叫 PlayerPrefs.Save() 立即寫入;並可直接使用基類提供的文本數據功能 (Data Map)。

命名空間OxGKit.SaverSystem
類型public class PlayerPrefsSaver : Saver
原始碼PlayerPrefsSaver.cs
using OxGKit.SaverSystem;

快速上手​

using OxGKit.SaverSystem;

// 建立運行時儲存器 (PlayerPrefs 後端)
Saver saver = new PlayerPrefsSaver();

// 基本存取
saver.SaveString("name", "michael");
saver.SaveInt("language", 2);
saver.SaveFloat("bgmVolume", 0.8f);

// 文本數據功能 (由 Saver 基類提供)
saver.SaveData("appPrefs", "lastLogin", "2026-07-29");
string lastLogin = saver.GetData("appPrefs", "lastLogin", null);

通用規則​

適用範圍​

儲存器儲存後端適用
PlayerPrefsSaverUnityEngine.PlayerPrefs運行時 (遊戲內設定,隨應用程式/平台儲存)
EditorPrefsSaverUnityEditor.EditorPrefs僅編輯器 (編輯器工具偏好設定)

(模組概觀詳見模塊介紹)

寫入時機​

注意 每次 Save* 皆會自動呼叫 PlayerPrefs.Save() 立即寫入磁碟;DeleteKey / DeleteAll 則不會額外呼叫 Save() (依 Unity 預設於應用程式正常退出時寫入,必要時可自行呼叫 PlayerPrefs.Save())。

提醒 PlayerPrefs 儲存位置依平台而異 (例如 Windows 為註冊表、WebGL 為瀏覽器 IndexedDB);WebGL 的持久化依賴瀏覽器落盤,並避免儲存過大的字串。


覆寫成員​

方法總覽​

方法說明
SaveString儲存字串並立即寫入。
GetString取得字串。
SaveInt儲存整數並立即寫入。
GetInt取得整數。
SaveFloat儲存浮點數並立即寫入。
GetFloat取得浮點數。
HasKey檢查指定鍵是否存在。
DeleteKey刪除指定鍵。
DeleteAll刪除所有 PlayerPrefs 鍵值。

SaveString​

public override void SaveString(string key, string value)

透過 PlayerPrefs.SetString 儲存字串,並立即呼叫 PlayerPrefs.Save() 寫入。

saver.SaveString("name", "michael");

GetString​

public override string GetString(string key, string defaultValue = "")

透過 PlayerPrefs.GetString 取得字串,鍵不存在時返回 defaultValue。

SaveInt​

public override void SaveInt(string key, int value)

透過 PlayerPrefs.SetInt 儲存整數,並立即呼叫 PlayerPrefs.Save() 寫入。

GetInt​

public override int GetInt(string key, int defaultValue = 0)

透過 PlayerPrefs.GetInt 取得整數,鍵不存在時返回 defaultValue。

SaveFloat​

public override void SaveFloat(string key, float value)

透過 PlayerPrefs.SetFloat 儲存浮點數,並立即呼叫 PlayerPrefs.Save() 寫入。

GetFloat​

public override float GetFloat(string key, float defaultValue = 0f)

透過 PlayerPrefs.GetFloat 取得浮點數,鍵不存在時返回 defaultValue。

HasKey​

public override bool HasKey(string key)

透過 PlayerPrefs.HasKey 檢查指定鍵是否存在。

DeleteKey​

public override void DeleteKey(string key)

透過 PlayerPrefs.DeleteKey 刪除指定鍵。

DeleteAll​

public override void DeleteAll()

透過 PlayerPrefs.DeleteAll 刪除鍵值。

重要 PlayerPrefs.DeleteAll 會刪除此應用程式的所有 PlayerPrefs 鍵值 (包含非經由本儲存器儲存的鍵),請謹慎使用。