首页 > 框架模块 > 内置模块 > 流程 > 流程使用手册
2016
08-26

流程使用手册

流程是贯穿游戏运行时整个生命周期的有限状态机。通过流程,将不同的游戏状态进行解耦将是一个非常好的习惯。

对于网络游戏,你可能需要如检查资源流程、更新资源流程、检查服务器列表流程、选择服务器流程、登录服务器流程、创建角色流程等流程,而对于单机游戏,你可能需要在游戏选择菜单流程和游戏实际玩法流程之间做切换。

如果想增加流程,只要派生自 ProcedureBase 类并实现自己的流程类即可使用。

在导入插件后,查看 Procedure 的 Inspector 窗口。

流程使用手册 - 第1张  | Game Framework

此时,有一个默认的流程 ProcedureLaunch,且这个流程作为 Entrance Procedure,在游戏运行时,将会从这个流程启动。

在这里,我们创建一个新的流程 ProcedureMain,当游戏从 ProcedureLaunch 启动完成后,再直接进入 ProcedureMain。

通过编译后,Inspector 中会出现这个新增加的流程,勾选上这个流程,使之成为可用流程之一。

流程使用手册 - 第2张  | Game Framework

修改 ProcedureLaunch 的 OnUpdate 方法,使用 ChangeState 方法在 ProcedureLaunch 首次轮询时就切入 ProcedureMain 流程。

运行游戏,观察 Inspector 变化,会发现从 ProcedureLaunch 快速切换到 ProcedureMain。

流程使用手册 - 第3张  | Game Framework

流程的创建和切换就这样简单的完成了。

相关 API 参考手册

最后编辑:
作者:Ellan
Game Framework 还在不断地发展,感谢大家的支持!

流程使用手册》有 11 条评论

  1. enumer 说:

    各模块介绍和示例代码再丰富就好了,这套框架UI和资源管理模块有什么需要特别注意的特点吗

    • Ellan 说:

      文档部分会不断完善的。
      资源管理方面只要注意资源是异步加载,需要等待事件通知。另外,需要用自带的打包工具进行打包。

  2. think_ww 说:

    流程在unity游戏中到底要怎样使用啊?
    因为没有继承mono,所以在编辑器模式下运行游戏根本不会走代码的流程。

  3. 匿名 说:

    Ellan你好,GameFramework.dll开源吗?文档不够全面而且看不到底层代码,有些还是不理解呀

  4. 匿名 说:

    非常感谢Ellan的分享

  5. 陈程 说:

    E神无私奉献~~给了支付宝借口啊~~~必须打赏了!

  6. codingworks 说:

    使用热更新的时候,因为给外部脚本定义了继承适配器,因此在加载外部热更新的流程脚本的时候,所获取的Type全部为在工程定义的继承适配器,就无法正常执行流程。
    然后我针对热更新获取的外部Type,更改了部分GF的源码,为热更新添加了一些单独的接口,但是担心强行匹配会不会因小失大,最主要是还没有跑通。
    不知道大神对此有什么好的建议,或者对热更新有一些更好的理解,我兼容的热更新方案为:https://github.com/Ourpalm/ILRuntime

留下一个回复

你的email不会被公开。