Unity 中的数据持久化与 JSON 使用
Unity教程
在这篇文章中,我们将聊聊如何用 JSON 在 Unity 中实现数据持久化,基于我的项目代码总结经验。
数据持久化的实现
我的项目通过 LoginMager 单例类管理登录和注册数据,用 JSON 保存到本地。以下是核心实现:
- JSON 数据的加载与保存
用工具类处理 JSON 文件的读写:1
2loginData = jsonInstance.Instance.LoadJson<LoginData>("LoginData", JsonType.NewTonJson);
jsonInstance.Instance.SaveJson(loginData, "LoginData");登录与注册的实现
我的登录和注册功能靠 LoginPanel 和 RegisterPanel 完成,逻辑清晰且用户友好:
- 登录逻辑
检查输入并验证合法性:1
2
3
4
5
6
7
8if (User_Name.text.Length <= 6 || User_PassWord.text.Length <= 6) { /* 显示提示 */ }
if (LoginMager.Instance.RegisterIslegal(User_Name.text, User_PassWord.text)) { /* 保存并跳转 */ }
**注册逻辑**
检查用户名重复并保存:
```csharp
if (LoginMager.Instance.RegisterDic(Input_UserName.text, Input_Password.text)) { /* 清理并返回登录 */ }
Toggle 控件应用
用 Toggle 实现记住密码和自动登录:1
RememberTog.onValueChanged.AddListener((isOn) => { if (!isOn) AutoLoginTog.isOn = false; });
服务器选择的实现
- 按钮事件绑定
用 Lambda 表达式简化点击事件:1
Rightbut.onClick.AddListener(() => { LoginMager.Instance.loginData1.ServerID = Nowinfos.id; });
- 服务器选择动态生成
动态创建按钮并更新信息:1
2
3GameObject rightbut = Instantiate(Resources.Load<GameObject>("UI/Right_But"));
Right_But RigBut = rightbut.GetComponent<Right_But>();
RigBut.RightButInfo(nowInfo);
- 服务器选择动态生成
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 砂糖·橘🍊!
