ET6
文章平均质量分 81
小盖子
主攻Unity相关的技术美术相关内容...在此分享,望共同进步.
展开
-
ET6框架(十三)ET-EUI循环列表及红点树
我们需要在上一节的页面逻辑中RegisterUIEvent方法中添加列表项监听, 注意这里需要使用拉姆达列表式,为了热更新可以生效。在我们日常游戏开发中经常会有按或高亮提示的需求,可能我们会使用判断条件一个个按钮去判断,但更好的方法是使用EUI中的红点组件。再在ShowWindow方法中,利用RedDotHelper中的AddRedDotNode方法添加节点,这是逻辑节点上的操作。在页面显示处理中添加内容,指定列表项数量和显示切换,并添加HideWindow方法,在页面关闭时清理列表项。原创 2024-09-03 09:38:59 · 632 阅读 · 0 评论 -
ET6框架(十二)ET-EUI基本使用
ET-EUI是基于ET6.0版本拓展出来的一个套UI框架。原创 2024-09-02 09:43:38 · 925 阅读 · 0 评论 -
ET6框架(十一)Actor消息
我们打开Server > Server.Hotfix > Login中添加下面两个脚本,用于处理客户端发送的C2M_TestActorLocationRequest以及C2M_TestActorLocationMessage类型的消息。再定义无返回消息类型,C2M_TestActorLocationResponse从客户端到Map服务器,指定类型为IActorLocationMessage,注意与普通消息不同这里需要固定字段RpcId。需要注意的是这里拿到的是客户端的Unit.以及记得为消息打上标签。原创 2024-09-02 09:40:04 · 770 阅读 · 0 评论 -
ET6框架(十)通讯消息编写
ET消息主要分为两类,一个种是普通消息,一种时通过Gate网关转发的消息叫Local消息这里我们编写客户端与服务器端通讯消息1.使用ResponseType : 指定指定回复消息类型2.在类型后使用 // IRequest 关键字指定请求消息3.消息第一个参数必须为 int32 RpcId = 90;4.消息回复类型需要使用 // IResponse 关键字指定为回复类型。原创 2024-08-31 11:26:02 · 694 阅读 · 0 评论 -
ET6框架(九)Protobuf消息使用
Protobuf是一个用于生前通讯消息的代码生成器。Prototbuf是一个Google公司提出的开源的轻便高效的结果化数据存储格式。相对于其他常见的序列格式如Json、XML等格式,Protobuf具有易用性更好,自动化,兼容性数量小,序列化及反序列化速度更快等优势。原创 2024-08-31 11:23:16 · 730 阅读 · 0 评论 -
ET6框架(八)事件系统
我们打开Client > Unity.Model > Codes > Model > Demo > EventType.cs 即可以查看目前工程中的事件我们可以此添加事件结构体我们还需要定义一个事件接收方法,创建路径文件夹及脚本在Unity.HotfixView > Codes > Demo > Computer > Event 创建脚本 InstallComputer_AddComponent.cs。原创 2024-08-30 23:11:20 · 658 阅读 · 0 评论 -
ET6框架(七)Excel配置工具
查看客户端游戏代码在Client > Unity.Model > Codes > Model > Generate 这个目录则是刚生成的客户端数据脚本。客户端的游戏数据将会存放在 ET\Unity\Assets\Bundles\Config目录下。1.在表结构中需要注意的是起始点必须在第三行第三列,且必需要为Int值的ID。所编译的数据将会存放在ET > Config 文件夹的.bytes文件中。在第一行第一列中输入则是对整个列的操作,如上图只会在客户端导出该表数据。对于单条数据的导出也是同样的用法。原创 2024-08-30 23:07:21 · 679 阅读 · 0 评论 -
ET6框架(六)Scene层级树
Scene为层级树的根节点,本质上还是一个Entity,Entity下也可以挂载其他Entity,也可以像树节点一样多层次挂载。无论挂载多少层Entity,Entity实体的Domain指代的就是Entity当前层次结果中的根节点Scene.Entity的Zone则代表当前所在Scene的逻辑索引Id,在服务器端可以被 当做区服的索引ID需要注意的是,Domain返回的是当前Scene的根节点,如在自己创建的CurrentScene下调用则拿到CurrentScene.原创 2024-08-29 11:50:46 · 1566 阅读 · 0 评论 -
ET6框架(五)ECS组件式编程
ECS即Entity、Component、System的简称,遵循组合优于继承的原则Entity(实体) : 实体是一个概念,是指存在你游戏世界中的一个独立物体,是一系列组件的集合。Component(组件) : 一个组件是堆数据的集合,不存在行业,只用于储存状态。System(系统) : 一个系统就是对拥有或多个相同组件的操作工具,只有行为没有状态也不做存储。(切记:切勿与Unity Dots中的ECS进行混淆,两者没有一点关系)原创 2024-08-29 11:47:12 · 475 阅读 · 0 评论 -
ET6框架(四)服务器架构发展
回到LoginHelper,在获得连接的Gate网关服务key后将消息返回给客户端,客户端向网关进行传输了C2G_LoginGate,让客户端与网关服务器建立正式的连接。最早的游戏服务器使用单台物理机单个游戏服务器程序进程,单线程无阻塞Socket连接所有玩家,同步间隔为每秒一次。第三代服务器架构又称三层架构,统一连接的网关,数据库交互的任务则交由数据库代理进程处理。第二代架构中由游戏服务器处理玩家连接及数据库存储的效率是非常低的,经过第三代的改进。这里会获取到所有网关服务器,并随机获得一个网关的配置。原创 2024-08-28 10:37:32 · 446 阅读 · 0 评论 -
ET6框架(三)前后端通讯分析
Socket是应用层衍生出的一个抽象层,它提供了一系列网络通讯的函数,使开发者可以不用过多在意通讯的底层互联。原创 2024-08-28 10:35:26 · 363 阅读 · 0 评论 -
ET6框架(二)Demo工程的运行及编译
4.打开工程后打开Init场景,再在Editor > Preferences > External Tools > 工程中选择编辑器工作VS2019以上或Rider 2021.2.2及以上版本。9.再在适用于Unity的工具中(只安装了Unity开发扩展才有) > 杂项 > 禁止完整生成项目 > 选择 false。2.复制地址后下载,在本人使用时ET已更新到最新9.0的版本,因此下载后需要切换分支到6.0版本。20.运行服务器后,再打开运行即可以看到几个小小人的出现及同步。8.再在 工具 > 选项。原创 2024-08-27 10:05:06 · 389 阅读 · 0 评论 -
ET6框架(一)介绍及环境部署
1.ET(客户端,服务器端)是一个开源的双端全栈式网络游戏开发框架2.ET服务器端是基于.net(.net core)开发的多进程分布式高性能游戏服务端3.ET客户端则是基于Unity3D游戏引擎。4.前后端均使用C#语言编写,可以轻松地做到逻辑共用。原创 2024-08-27 09:36:31 · 1918 阅读 · 0 评论