ET是一个开源的游戏客户端(基于unity3d)服务端双端框架,服务端是使用C# .net core开发的分布式游戏服务端,其特点是开发效率高,性能强,双端共享逻辑代码,客户端服务端热更机制完善,同时支持可靠udp tcp websocket协议,支持服务端3D recast寻路等等
很多人都想要学习使用。接下来,聊一聊一些小坑。
- 克隆仓库
GitHub - egametang/ET: Unity3D Client And C# Server Framework
按照Book文件夹下的运行指南手册进行设置后,可以连接到服务器正常使用,但是怎么开始开发自己的逻辑呢?
第一个坑,环境
- 首次使用vs2022 + .net开发,但是会出现打开client-server后,client项目里的子项目都无法识别
- 后来使用JetBrains Rider 2021.3.4 正常编译
第二个坑,开发
- 如何编写第一个逻辑代码?这个教程在网上搜到初见老师的视频初见老师ET视频教程
- 但是由于目前版本已经是6.0了,很多操作方法都已经不一样了。
- UI开发时制作AB包的坑,Editor窗口没有标记按钮,需要手动设定标签后直接打包
打包AB包逻辑
代码逻辑编写
- 打开client-server.sln
该方法即为unitydemo场景init中login方法调用的逻辑
添加testbtn作为测试按钮
替换为启动MyUILogin
添加UIType枚举
启动服务器,unity测试
总结:
实例UI需要修改的脚本
- ModelView/Module/UI/UIType.cs
- ModelView/Demo/UI/UILogin/UILoginComponent.cs
- HotFixView/Demo/UI/UILogin/AppStartInitFinish_CreateLoginUI.cs
- HotFixView/Demo/UI/UILogin/LoginFinish_RemoveLoginUI.cs
- HotFixView/Demo/UI/UILogin/UILoginComponentSystem.cs
- HotFixView/Demo/UI/UILogin/UILoginEvent.cs
打包EXE时报这个错误
visual studio installer安装“使用C++的桌面开发”
.vsconfig详情
{
"version": "1.0",
"components": [
"Microsoft.VisualStudio.Component.CoreEditor",
"Microsoft.VisualStudio.Workload.CoreEditor",
"Microsoft.Net.Component.4.8.SDK",
"Microsoft.Net.Component.4.7.2.TargetingPack",
"Microsoft.Net.ComponentGroup.DevelopmentPrerequisites",
"Microsoft.VisualStudio.Component.TypeScript.TSServer",
"Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions",
"Microsoft.VisualStudio.Component.JavaScript.TypeScript",
"Microsoft.VisualStudio.Component.Roslyn.Compiler",
"Microsoft.Component.MSBuild",
"Microsoft.VisualStudio.Component.Roslyn.LanguageServices",
"Microsoft.VisualStudio.Component.TextTemplating",
"Microsoft.VisualStudio.Component.NuGet",
"Microsoft.VisualStudio.Component.SQL.CLR",
"Microsoft.Component.ClickOnce",
"Microsoft.VisualStudio.Component.ManagedDesktop.Core",
"Microsoft.NetCore.Component.Runtime.6.0",
"Microsoft.NetCore.Component.SDK",
"Microsoft.VisualStudio.Component.FSharp",
"Microsoft.ComponentGroup.ClickOnce.Publish",
"Microsoft.NetCore.Component.DevelopmentTools",
"Microsoft.Net.Component.4.8.TargetingPack",
"Microsoft.Net.ComponentGroup.4.8.DeveloperTools",
"Microsoft.VisualStudio.Component.DiagnosticTools",
"Microsoft.VisualStudio.Component.EntityFramework",
"Microsoft.VisualStudio.Component.Debugger.JustInTime",
"Component.Microsoft.VisualStudio.LiveShare.2022",
"Microsoft.VisualStudio.Component.IntelliCode",
"Microsoft.Net.Component.4.7.1.TargetingPack",
"Microsoft.VisualStudio.Component.VC.CoreIde",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.Graphics.Tools",
"Microsoft.VisualStudio.Component.VC.DiagnosticTools",
"Microsoft.VisualStudio.Component.Windows10SDK.19041",
"Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites",
"Microsoft.ComponentGroup.Blend",
"Microsoft.VisualStudio.Component.DotNetModelBuilder",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
"Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core",
"Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.CMake",
"Microsoft.VisualStudio.Component.VC.CMake.Project",
"Microsoft.VisualStudio.Component.VC.ATL",
"Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest",
"Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest",
"Microsoft.VisualStudio.Component.VC.ASAN",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Component.Unity",
"Microsoft.VisualStudio.Workload.ManagedGame"
]
}
打包IOS和Android时报错
IOS端