Unity GameFramework StarForce 流程介绍

一、游戏总入口 GameEntry

在这里插入图片描述

1.内建好的GameEntry.Builtin

提供了各种框架的组件封装
Unity GameFramework StarForce 流程介绍_第1张图片

2.自定义GameEntry.Custom

根据提供的案例参考即可实现自己的组件
Unity GameFramework StarForce 流程介绍_第2张图片

3.游戏入口GameEntry

Unity GameFramework StarForce 流程介绍_第3张图片

二、实现自己的组件并注册到管理类中

我们自己的组件只需要继承UnityGameFramework.Runtime.GameFrameworkComponent
在基类中的Awake方法中就自动将该自定义组件往管理类中进行了注册,底层逻辑使用链表存储组件。
Unity GameFramework StarForce 流程介绍_第4张图片
Unity GameFramework StarForce 流程介绍_第5张图片

三、启动流程以及各个流程之间的结构关系

流程的初始化启动在ProcedureComponent中的Start方法中延迟一帧后启动编辑器中设置好的默认启动流程。

1.流程基类ProcedureBase

该基类中有属性UseNativeDialog 是否开启原生对话窗,在案例中并未实现原生对话窗的接入
Unity GameFramework StarForce 流程介绍_第6张图片
在UIExtension中可以看到当打开对话窗时会根据当前流程的UseNativeDialog布尔值来判断使用何种对话窗
Unity GameFramework StarForce 流程介绍_第7张图片
Unity GameFramework StarForce 流程介绍_第8张图片

2.流程启动类ProcedureLaunch

在该流程中
(1)构建信息将json文本对象序列化为BuildInfo类对象
(2)语言配置设置游戏的语言(根据编辑器下设置的,根据历史设置过的,根据不支持的设置为英文,若都不是则默认使用LocalizationComponent在Start中初始化的系统语言)
(3)变体配置设置加载的资源变体(这里主要是对各种版本语言的不同加载)
(4)声音配置(根据历史或者默认设置声音静音或对应音量)
(5)默认字典(对还没有更新的情况下的多语言即没有进入游戏中需要修改语言的情况使用)
(6)运行一帧切换ProcedureSplash流程
Unity GameFramework StarForce 流程介绍_第9张图片

3.Splash动画类ProcedureSplash

设置Logo,注意事项等动画随后根据选择的游戏的模式进行对应的切换流程
Unity GameFramework StarForce 流程介绍_第10张图片

4.资源检测加载流程

整体游戏前的准备流程如下:
Unity GameFramework StarForce 流程介绍_第11张图片

5.资源预加载类ProcedurePreload

Unity GameFramework StarForce 流程介绍_第12张图片
(1)默认配置加载
(2)数据表的加载
Unity GameFramework StarForce 流程介绍_第13张图片

(3)默认的各国语言的加载(这里会根据之前的变体类型加载对应的AssetBundle)
(4)字体的加载

资源都加载好后进入菜单场景
Unity GameFramework StarForce 流程介绍_第14张图片

6.场景切换类ProcedureChangeScene

Unity GameFramework StarForce 流程介绍_第15张图片
(1)订阅场景加载的各种事件
(2)停止所有声音
(3)隐藏所有实体
(4)卸载场景
(5)还原游戏速度
(6)根据传递的数据加载对应的场景
(7)切换流程
Unity GameFramework StarForce 流程介绍_第16张图片

你可能感兴趣的:(Unity,unity,开发语言,c#)