GameFramework03_1_Procedure流程解读
in 技术 with 0 comment
GameFramework03_1_Procedure流程解读
in 技术 with 0 comment

20240331192541

定义

贯穿游戏运行时整个生命周期的有限状态机。通过流程,将不同的游戏状态进行解耦将是一个非常好的习惯。对于网络游戏,你可能需要如检查资源流程、更新资源流程、检查服务器列表流程、选择服务器流程、登录服务器流程、创建角色流程等流程,而对于单机游戏,你可能需要在游戏选择菜单流程和游戏实际玩法流程之间做切换。如果想增加流程,只要派生自 ProcedureBase 类并实现自己的流程类即可使用。​(官方文档)

本质

作用

ProcedureBase

ProcedureManager

编写第一个启动流程

流程切换

创建一个新的流程,命名为ProcedureMenu,实现从启动流程 => 菜单流程:

流程组件相关属性和函数

        //获取当前流程
        GameEntry.Procedure.CurrentProcedure;

        //获取当前流程的持续时间
        GameEntry.Procedure.CurrentProcedureTime;

        //是否存在流程
        GameEntry.Procedure.HasProcedure<T>;

        //获取某个流程
        GameEntry.Procedure.GetProcedure<T>;

扩展:游戏中的流程

如下图,是游戏中可能会包含的流程(通过解读StarForce源码得出),我将会在文章的第二个部分会对各个流程进行详细的解释

Procedure.drawio

Responses