文章目录
- 1. 概念
- 2. 存储
- 2.1 存到内存当中
- 2.2 存到硬盘当中
- 2.3 局限性
- 2.4 相同键会覆盖
- 3.读取
- 3.1 int型
- 3.2 float型
- 3.3 string型
- 3.4 判断数据是否存在
- 4. 删除数据
- 5. 存储位置
- 6. 反射
- 6.1 判断一个类型的对象是否可以让另一个类型为自己分配空间
- 6.2 通过反射获得泛型类型
- 7 数据管理类
- 7.1 存储
- 7.1.1 获取传入数据的所有字段
- 7.1.2 定义一个key的规则
- 7.1.3 遍历字段获得key
- 7.1.4 声明私有方法进行存储
- 7.2 读取
- 8 List数据类型存储
- 9 Doctionary数据类型
- 10 自定义类成员
- 11 读取常用数据类型
- 11.1 获得一个数据
- 11.2 SaveData函数
- 12 读取List数据类型
- 13 读取Dictionary数据类型
- 14.读取自定义类型
- 15. 数据存储的位置
- 16.数据加密思路
- 16.1 找不到
- 16.2 看不懂
- 16.3 解不出
- 16.4 PlayerPrefs尝试加密
1. 概念
就是保存存档和读取存档。
分为两部分,存储和读取,先看存储在看读取
2. 存储
PlayerPrefs 是unity提供可以存储和读取玩家数据的公共类
2.1 存到内存当中
2.2 存到硬盘当中
2.3 局限性
2.4 相同键会覆盖
上面定义过 PlayerPrefs.SetInt(“myAge”,18)
后面再定义PlayerPrefs.SetFloat(“myAge”,20.2f)
后面进行读取int型 myAge时,会变成默认值0
3.读取
3.1 int型
打印结果 0 和 100
3.2 float型
3.3 string型
3.4 判断数据是否存在
4. 删除数据
5. 存储位置
6. 反射
6.1 判断一个类型的对象是否可以让另一个类型为自己分配空间
1)父类装子类
2)是否可以从一个类型的对象为自己分配空间
创建两个有继承关系的类
6.2 通过反射获得泛型类型
7 数据管理类
单例模式适合管理类
创建管理类
测试类
7.1 存储
7.1.1 获取传入数据的所有字段
7.1.2 定义一个key的规则
7.1.3 遍历字段获得key
获得了对应的key
7.1.4 声明私有方法进行存储
7.2 读取
不需要在外部创建对象,然后传入函数
由函数直接返回对象,让外部少写一行代码
8 List数据类型存储
通过IList 父类进行类型判断,因为List需要泛型定义,不确定
9 Doctionary数据类型
和List一样,因为Dictionary的泛型不清楚,通过获得其父类获得object
通过增加"key" 和 "value"来分别存储一对键值对
10 自定义类成员
11 读取常用数据类型
11.1 获得一个数据
根据字段类型 来判断 根据哪个API判断
11.2 SaveData函数
函数说明在 7.2
12 读取List数据类型
13 读取Dictionary数据类型
14.读取自定义类型
修改游戏逻辑读取存档
执行
在执行save方法的时候,进行存盘