Unity-天命6源码
Unity-天命6源码
求职用的,主要扒游戏管理和UI部分。想要可以找我要,我有翻译韩语完的。
游戏中最好不要使用魔法值,所有的值都应该用常量定义出来,放到Scripts/GameDefine下面。
游戏从Logo场景开始,一个简单的动画控制,播放对应商店的Logo Sprite,Logo播放完毕的时候加载Certification场景。
这个系统的UI用的是NGUI,每个面板用不同的摄像机然后叠加culling。把组件都挂到Animation下面,便于控制动画和效果
从Logo场景进入,Logo场景很简单,就是一个logo,判断了一个莫名其妙的宏,加载动画,然后进入Certification场景
Certification场景目前来的功能是验证AB包+验证身份登录(? UI部分重要的结构
UStartPackage_Launcher: UStartPackage
Certification下
加载脚本的顺序是:
- UStartPackage_Launcher : UStartPackage
- 这里面塞了三个全局prefab管理器
- GlobalFontManager 字体
- BGM Module 背景音乐
- UI Root Dialog 全局的UI提示弹窗
- 单例触发ULocalPlayer
- ULoginCtrl
- ULauncherCtrl
- 表驱动
- 网络
- 搞定两个UI
UStartPackage 设置UI缩放和分辨率,读取预制体,加载三个模块的预制体,中间重置本地客户端的旧数据 如果PlayerPrefs中没有保存数据,则从旧文件中读取信息并保存到PlayerPrefs(我好像没怎么弄懂这东西的数据持久化是怎么管理的 Lancher完事了
ULocalPlayer 是“全局玩家与系统服务的聚合单例”,涵盖资源、网络、设置、前后台行为等。没有全看完,ULocalPlayer.Instance.LocalPushMgr.CancelLocalPush();里面包含了一个服务通知推送管理模块,底层推送使用的是NMSDK 聚合单例使用partial关键字分段编写,降低合作编写难度和耦合。 LobbyMenuData是大厅(战斗外)的核心数据单例,战斗时的核心数据单例使用的是另一个上下文。
此时已经初始化好了UI缩放适配,音乐,游戏设置,AB包的资源,全局字体管理器。
接下来使用的是,ULoginCtrl,
仅针对非战斗部分 首先是基础架构和业务使用分开 基础架构看 网络 数据
跨场景管理
Last Edit: 2025-12-02 11:24:20
