主题
存储服务(IRocStorageService)
- 接口:
RocPlay.Services.Storage.IRocStorageService - 默认实现:
RocStorageService,[RocImplementation(typeof(IRocStorageService), Priority = 0)] - 源码目录:
Assets/RocPlay/Services/Storage/
PlayerPrefs 薄封装,API 面窄;与资源/网络等相比不需要再拆「契约 / 场景」两页——一篇讲清后端与注意 + 示例即可(归档 Storage.md 也是短文档风格)。
最小心智模型
- 键值语义:
string/int/float/byte[]存取 +HasKey/DeleteKey/DeleteAll,不是完整存档方案。 - 默认后端是
PlayerPrefs:SetBytes/GetBytes以 Base64 字符串 存于PlayerPrefs;Stop/Dispose会PlayerPrefs.Save()(与源码一致)。 - 敏感信息勿明文:令牌、密钥等应由业务或安全模块加密后再写入,或另选安全存储。
- 显式
Save():需要尽快落盘时调用,避免依赖隐式时机。 - 键名集中管理:用常量或配置表,避免魔法字符串散落。
职责(摘要)
在统一接口下对 string / int / float / byte[] 等做键值存取、存在性检查、单键删除、全量清空,以及 Save() 显式落盘。大文件、多槽存档、版本迁移等宜在外层封装,本服务保持简单键值语义。
分册
| 分册 | 说明 |
|---|---|
| 键值与 PlayerPrefs | 成员、PlayerPrefs/Base64、Save、注意 |
| 示例 | 最小读写 |
→ 基础服务总览