韩版传奇 2 源码分析与 Unity 重制(二)客户端启动与交互流程

专题介绍

该专题将会分析 LOMCN 基于韩版传奇 2,使用 .NET 重写的传奇源码(服务端 + 客户端),分析数据交互、状态管理和客户端渲染等技术,此外笔者还会分享将客户端部分移植到 Unity 和服务端用现代编程语言重写的全过程。

概览

在这一篇文章中,我们将从客户端入手,分析从 TCP 连接建立、登录鉴权、角色选择、开始游戏到游戏内交互的全过程。

客户端启动

WinForm 入口 Program.cs

与服务端类似,客户端也是一个 WinForm 应用程序,在 Application 启动后,会先跳转到 AMain 检查是否有热更新,随后再跳转到 CMain 开启客户端主逻辑:

// Program.cs
[STAThread]
private static void Main(string[] args)
{
    // ...
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    if (Settings.P_Patcher) Application.Run(PForm = new Launcher.AMain());
    else Application.Run(Form = new CMain());
    // ...
}

监听事件循环

在 CMain 的构造函数中,我们监听了 Application Idle 事件作为事件循环:

// CMain.cs
public CMain

猜你喜欢

转载自blog.csdn.net/gogocsdn1/article/details/135192352
今日推荐