Unity 天命6源码- 商业游戏说明分析

如需要简单天命6源码解析,请参考:会走路的小哥

如果是我,天命6的源码大概分几块?

(仅客户端)

  1. 状态模块,PVP或者PVE的战斗,是一直更新的State
  2. 登录模块
  3. 第三方插件
  4. 设置配置config

状态机,状态模块

场景状态

cpp 复制代码
    public enum EStageResultState

    {

        EState_Inactive = 0,    // 비표시. 隐藏 / 未激活。

        EState_Move,            // 유닛, 카메라 이동 // 单位与摄像机移动中。

        EState_Complete,        // 레이드 종료. (실패/성공 없이 모두 같은 결과 화면)// 关卡结束。(无论成功或失败,均显示相同的结局画面)

        EState_Max,                // 枚举最大值(通常用于计数或边界检查,不表示实际状态)。

    };

actor个人状态

UOgreAI_Remote |-->UOgreAI_Pawn

cs 复制代码
    protected override void Enter_Idle(EOgreAIState inPreviousState)
    {
        base.Enter_Idle(inPreviousState);
    }

    protected override void Update_Idle()
    {
		if(myPawnForRemote.IsEnableReserveSkill)
		{
			// 드래그 및 버프 스킬은 즉시 스킬 사용.
			if(myPawnForRemote.IsDragReserveSkill || 
				myPawnForRemote.MySkillSystemForRemote.CurrentActiveSkill.IsBuffSkill ||
				myPawnForRemote.MySkillSystemForRemote.CurrentActiveSkill.isHealSKill)
			{
				ForceNextAIState = EOgreAIState.OgreAI_SkillDashFollowEnemy;
				return;
			}
		}
cs 复制代码
    // 상태 진입.  状态进入。
    protected void EnterState(EOgreAIState inEnterState)
    {
        switch(inEnterState)
        {
            case EOgreAIState.OgreAI_Idle:                  { Enter_Idle(currentAIState); DelegateAIUpdate = new FDelegateAIUpdate(Update_Idle); } break;
            case EOgreAIState.OgreAI_PortalFollow:          { Enter_PortalFollow(currentAIState); DelegateAIUpdate = new FDelegateAIUpdate(Update_PortalFollow); } break;
            case EOgreAIState.OgreAI_LeaderFollow:          { Enter_LeaderFollow(currentAIState); DelegateAIUpdate = new FDelegateAIUpdate(Update_LeaderFollow); } break;
            case EOgreAIState.OgreAI_EnemyFollow:           { Enter_EnemyFollow(currentAIState); DelegateAIUpdate = new FDelegateAIUpdate(Update_EnemyFollow); } break;
            case EOgreAIState.OgreAI_DashApproach:          { Enter_DashApproach(currentAIState); DelegateAIUpdate = new FDelegateAIUpdate(Update_DashApproach); } break;


//所以状态在于
//public enum EOgreAIState

技能系统

设置配置config

第三方插件

BestHTTP (pro)

baracuda.monitoring//本身做监控,最新的这个插件转为和 AI 机器学习有关

CutScene

参考

会走路的三百块👾

https://ooowl.fun/articles/blogs/Game/Unity/Unity-%E5%A4%A9%E5%91%BD6%E6%BA%90%E7%A0%81.html

https://www.jiaosf.com/yxym-901-1-1.html

其他

相关推荐
王家视频教程图书馆几秒前
rust 写gui 程序 最流行的是哪个
开发语言·后端·rust
Wadli3 分钟前
Oncall Agent项目
开发语言
艾莉丝努力练剑8 分钟前
【QT】Qt常用控件与布局管理深度解析:从原理到实践的架构思考
linux·运维·服务器·开发语言·网络·qt·架构
杜子不疼.10 分钟前
用 Python 实现 RAG:从文档加载到语义检索全流程
开发语言·人工智能·python
chao18984411 分钟前
基于改进二进制粒子群算法的含需求响应机组组合问题MATLAB实现
开发语言·算法·matlab
lcj251111 分钟前
字符函数,字符串函数,内存函数
c语言·开发语言·c++·windows
独特的螺狮粉11 分钟前
古诗词飞花令随机出题小助手:鸿蒙Flutter框架 实现的古诗词游戏应用
开发语言·flutter·游戏·华为·架构·开源·harmonyos
cch891814 分钟前
C++、Python与汇编语言终极对比
java·开发语言·jvm
Chockmans16 分钟前
2026年3月青少年软件编程(Python)等级考试试卷(六级)
开发语言·python·青少年编程·蓝桥杯·pycharm·python3.11·python六级
Python大数据分析@18 分钟前
使用Python和亮数据采集器搭建专利查询GUI系统
开发语言·python