GameFramework03_Procedure流程(1)
in 技术 with 0 comment
GameFramework03_Procedure流程(1)
in 技术 with 0 comment

20240331192541

流程的定义

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

流程本质

ProcedureBase

编写第一个启动流程:

流程切换

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

流程组件相关属性和函数

Procedure组件还提供了一些方便的属性和函数供我们全局调用,感兴趣的话可以进入到ProcedureComponent​脚本查看源码

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

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

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

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

扩展:游戏中的流程

Next:GameFramework04_Procedure流程(2)

Responses