存档模块
存档模块的简单使用
GF自带了Setting模块,以键值对的形式存储玩家数据,对 UnityEngine.PlayerPrefs 进行封装。
主要的API在DefaultSettingHelper里面

其中Load功能是个空方法,并没有写,需要大家自己去写,一想也是,每个项目数据结构都不一样
下面是个简单的例子

然后大家根据自己项目需要再对此模块进行封装即可
文章作者: 烟雨迷离半世殇
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 登峰造极者,殊途亦同归。!
相关推荐

2020-02-01
ET篇:斗地主的资源工作流
有了master的学习经验,斗地主的学习将不会太多精细化,更多细节大家可以自行查看,本系列文章旨在帮助大家理解整个开发流程 资源划分策略 先来到Asset下的Bundles文件夹,这里是游戏内用到的所有的资源,都被打成ab包,正式发布时将会删除,从资源服务器下载文件 Independent Code 包含热更新模块的dll文件 Config 包含客户端的配置文件(连接配置,所用到的玩家,敌人等数据结构) UI Landlords/Altas 包含游戏内用到的所有图集 Landlords/Content 玩家正式开局游戏内的个人信息 Landlords/HandCard 玩家手牌UI Landlords/LandlordsEnd 游戏结束界面 Landlords/Interaction 玩家的正式游戏内操作界面(出牌,不要,抢地主,不抢等) Landlords/LandlordsLobby 游戏大厅 Landlords/LandlordsLogin 登录界面 Landlords/LandlordsRoom 正式游戏界面UI Landlor...
2021-08-22
ET6.0学习笔记
前言 由于之前已经写过很多ET相关教程,本篇文章主要提及ET6.0的新概念和新特性,其实6.0很多知识点和之前版本一样适用,想看ET之前版本教程的,可以前往:ET篇:个人笔记汇总 本文写作时对应的commit版本:https://github.com/egametang/ET/commit/43abb90cd05445f2e9a0625ac12caaab59486672 基础概念 此部分内容参考:ET6.0的设计思路 推荐大家有问题先去ET论坛逛逛,里面有很多管理员整理好的日常讨论答案,技术教程,以及其他朋友提出的问题,可以学到很多知识。 ET 6.0创新概览 之前每个功能是一个进程,比如realm gate location map,现在改成每个功能是一个Scene,一个Scene可以放到一个进程中。这样一台物理机先启动固定的进程,然后各个scene放到进程中运行。非常类似docker。 所有的Scene放在一个进程就变成了AllServer模式 服务器内部全部使用actor发送消息,比如realm发给gate,其实是发个actor消息到gate scene dbserver...

2021-03-15
GameFramework篇:框架基本理解和源码下载
先偷偷观察一下E神的GitHub 只有三个项目,尽管如此,我还是感受到来自E神的压迫感。 我们再来看一下官网的描述 什么个意思呢? 我们先看UGF 可以看到有GameFramework的dll文件,那么它是从哪来的呢? 它来自GameFramework 再看UGF的Scripts,里面就是UnityGameFramework.Runtime和UnityGameFramework.Editor模块啦 我们可以这样理解,GameFramework是完全和Unity分离的的,由它衍生出与Unity相交互的UnityGameFramework,这也是我们在Unity中使用GameFramework框架必不可少的部分,我们可以把UGF当成平时使用的插件。最后UGF和Unity相结合,就做出游戏啦~ 然后就是演示Demo——StarForce(一目了然) 然后我们要把这三个项目都下载 为什么全都要呢,因为我们平时学习肯定要顺藤摸瓜来看代码实现而,GF是GF.dll的来源,也就是最终源码,相对于反编译dll,我更习惯于直接看源码~所以三个都不能少 打开StarForce项目,如果有报...

2021-01-01
ET篇:账号异常解决方案汇总
前言 当然了,网络游戏中的异常太多了,断线重连,封号处理之类的,但是目前我还没有接触到那些模块,就没必要做超前的处理,等做到了也会整合到这篇博客里,本篇博客主要是讲解思路,可能代码上面有些描述不够清晰,大家可以去我的项目里翻一下完整代码 https://gitee.com/NKG_admin/MKGMobaBasedOnET 常见异常为 账号被人顶下来 客户端自身或者网络问题(死机,网络不良)无法连接服务器或者与服务器断开连接 客户端突发状况(断电,退出游戏),与服务器断开连接 在开始说明解决方案之前,我们先明确几个概念 如果客户端这边退出游戏,将会调用Session.Dispose(),并且服务端与之对应的Session也会执行Dispose 网络不良或者没有网络,将不会调用Session.Dispose(),要靠双端的心跳包情况来让服务端判断是否要断开连接(执行Session.Dispose()),然后双端各自执行断线后的逻辑 emmm,为什么这两个简单的概念把我绕了一天?(观众:是不是脑瘫就不用我们多说了⑧) 对应的三个解决方案 账号被人顶下来的解决方案 既然是被人...

2020-02-01
ET篇:master服务端初始化流程的介绍
讲过master客户端的框架初始化,再来说一下服务端的初始化流程吧,因为很多客户端代码在服务端是通用的,所以理解起来也不算困难,就像这样 先来到程序入口 然后就是框架的初始化了(因为很多细节在客户端那篇讲过了,所以就不在这赘述了,内部实现是一样的) 12345678910111213 //添加Model.dll到字典维护Game.EventSystem.Add(DLLType.Model, typeof(Game).Assembly);//添加Hotfix.dll到字典维护Game.EventSystem.Add(DLLType.Hotfix, DllHelper.GetHotfixAssembly());//添加并获取设置组件的引用Options options = Game.Scene.AddComponent<OptionComponent, string[]>(args).Options;//添加并获取初始配置的组件的引用StartConfig startConfig = Game.Scene.AddComponent<StartConfigComp...

2021-09-07
ET篇:云端分布式服务器部署教程
本文章已于2021.9.7更新,更正ET 6.0的地址配置以及含义,新增Linux实操步骤 前言 对于Linux部署的实操部分,参见:https://www.lfzxb.top/recastnavigation-and-et-to-linux 正文 ET6.0版本配置 现在大多人用的都是云服务器,会将外网IP映射到内网IP(网卡IP),所以一般外网地址和内网地址都是内网IP。 实际上我试过将Socket绑定到云服务器的公网IP,会直接报错 但是服务端会将外网地址传递回客户端让客户端连接Gate,但是我们外网IP只能填服务器的内网IP,也就会导致客户端无法和服务端通信,所以我们要多做一列地址专门告诉客户端服务端的外网地址 总结一下 我们约定,服务器公网IP为192.168.0.1,内网IP为44.117.7.8
评论

