StarForce学习1-流程

今天开始写吧,记录之用。流水。。。

1、流程开始的地方

StarForce的流程从Procedure开始,可以定义流程。默认第一个流程是StarForce.ProcedureLaunch.

2、流程在哪里

流程脚本保存在Assets/GameMain/Scripts/Procedure中。

继承与 ProcedureBase继承与GameFrame.Procedure.ProcedureBase。

3、ProcedureLaunch做了什么?

        在OnEnter中,构建发布信息,语言配置(中英文),画质匹配(不同型号设备不同配置),声音配置(音量),加载默认字典(记录资源更新前使用的各种语言字符串)。并且设置下一个场景(非后台场景)

        在OnUpdate中,跳转到下一个流程ProcedureSplash.

4、procedureSplash做了什么?

        如果是编辑模式,直接进入预加载流程ProcedurePreload

        否则,进入更新流程ProcedureCheckVersion

5、ProcedureCheckVersion做了什么?

        由于更新流程执行了更多步骤,所以来到了这里。

        在OnEnter中,注册了3个事件,网络请求成功事件,网络请求失败事件,资源初始化事件,开始资源初始化步骤。

        在OnUpdate中,当资源初始化完成,进入预加载ProcedurePreload流程。

        在OnLeave中,卸载了事件监听。

6、ProcedurePreload做了什么?
        在OnEnter中,注册了加载表格 成功/失败 事件,注册了加载字典 成功/失败 事件。
        然后开始加载步骤。

        在OnUpdate中,当加载所有事件成功,进入下一个流程,卸载场景流程ProcedureChangeScene.

        在OnLeave中,卸载监听。

7、ProcedureChangeScene做了什么?

       在OnEnter中,注册了加载场景事件的监听。停止所有声音,隐藏所有实体,卸载所有场景,不包过组件初始化场景。和初始化一些参数,并加载下一个场景。(菜单->游戏->菜单->游戏)

       在OnLeave中卸载监听。(这句话是不是可以忽略了,默认卸载监听。)

       在OnUpdate中,当卸载资源成->当下一个场景为菜单场景,到ProcedureMenu流程,否则到ProcedureMain流程(游戏)。

       emmm 这里。。。没啥。

8、一些想法。

        Procedure做了很多前期工作,就是菜单流程和游戏流程替换,然后修改一下其他流程,可以省去大量工作,不满意可以照着这个框架自己做。但是看起来好麻烦的样子。

        还有,一定要从GameFramework这个场景开始,这里初始化一些底层组件,很重要。

你可能感兴趣的:(StarForce学习1-流程)