【Unity】 HTFramework框架(二十三)Main主程序

更新日期:2022年7月14日。
Github源码:[点我获取源码]
Gitee源码:[点我获取源码]

Main主程序简介

Main为框架的主模块,提供访问其他模块的快捷接口,还支持快捷设置脚本定义、指定全局主要数据类、设置项目授权、以及配置全局参数等。

使用Main

框架生命周期

框架生命周期函数如下(Module代表内置模块和自定义模块,MonoBehaviour代表常规脚本的生命周期):
在这里插入图片描述

规则如下:
1.OnInit自身初始化:框架的所有模块的自身初始化将在此完成,且其只专注于自身初始化;
2.OnReady准备完毕:框架的所有模块已完成初始化,在此阶段已能确保访问其他模块的安全性,若有需要访问其他模块的业务,可在此处完成;
3.OnUpdate逻辑帧更新:初始化完成、准备完毕后,这里进行逻辑帧更新。
4.OnTerminate终结:当模块终结时,这里进行终结前处理。

注意:也即是说,框架的所有初始化工作将先于任何自定义MonoBehaver脚本的Awake方法,你在任何地方的任何操作都可以直接访问框架资源,其自身初始化已确保最先完成(除非你的脚本执行顺序在框架之前,这样的话将没有意义)。

主循环

设置Pause为true将使得框架主循环暂停,如下调用:

Main.Current.Pause = true;

注意:当框架暂停时,每个模块都会受到不同程度的影响,这取决于该模块具体的实现。

调用其他模块

调用其他任何主要模块都将从Main开始,可以直接输入m_以筛选出框架中所有主要模块。
在这里插入图片描述
也可以使用如下方式:

        //获取FSM模块
        Main.Current.GetInternalModule(HTFrameworkModule.FSM);

Scripting Define 脚本定义

在这里设置全局脚本定义。
在这里插入图片描述

点击New按钮,输入名称后再点击OK按钮,最后再点击Apply应用按钮,即可添加新的脚本定义,如下添加一个脚本定义Client
在这里插入图片描述

在代码中判断这个脚本定义。

	private void Start()
	{
        //如果定义了Client
#if Client
        GlobalTools.LogInfo("这里是客户端!");
#endif
    }

Data Model 数据模型

在这里加载全域数据模型。
请参阅如下文章:【Unity】 HTFramework框架(三十九)UI的数据驱动模式,MVVM

License 授权许可

请参阅如下文章:【Unity】 HTFramework框架(三十二)授权验证

Parameter 全局参数

这里可以配置全局参数,如下配置了一个**DataSet(数据集)参数,和一个String(字符串)**参数。
在这里插入图片描述

点击New按钮可以新建参数,目前支持的参数类型为大部分常见类型。
在这里插入图片描述

获取全局参数的方式也非常简单,如下。

        //获取全局参数 - 远程服务器地址
        if (Main.Current.IsExistParameter("远程服务器地址"))
        {
            string serverUrl = Main.Current.GetStringParameter("远程服务器地址");
        }
        //获取全局参数 - 第一关配置文件
        if (Main.Current.IsExistParameter("关卡配置表"))
        {
            DataSetBase dataSet = Main.Current.GetDataSetParameter("关卡配置表");
        }

Setting 环境设置

这里可以进行一些针对此项目的环境设置,比如Log类型的设置分栏,在框架中只有三种等级的日志,常规日志Info,警告日志Warning,错误日志Error,在这里分别可以开启或关闭这三种日志的打印接口:
在这里插入图片描述

注意:建议您在任何部位都使用框架的日志打印接口(Log),他只接收string类型的参数,且跳过了Debug类的拆装箱操作,而且在项目正式上线时可以在Setting面板直接禁用掉所有的日志打印。

Build类型的设置分栏,为项目构建设置,设置项Allow Scene Add Build为是否允许将其他场景添加到Build界面,不过,包含框架主环境的场景的Build索引必须为0。
在这里插入图片描述
注意:勾选了此设置项,则表示不再使用AB包模式加载场景,任何场景将被允许添加到Build界面,直接发布。

HybridCLR 热更新

使用 HybridCLR 热更新

运行时检视面板

在编辑器中运行时将会出现运行时检视面板(Runtime Data),主要用以调试或数据监测,目前面板如下:
在这里插入图片描述

1.Pause:框架主逻辑是否暂停。

Unity HTFramework是一个基于Unity引擎开发的游戏开发框架。它提供了丰富的功能模块和工具,帮助开发者轻松快速地构建高质量的游戏。 首先,Unity HTFramework提供了游戏框架的基础结构,包括场景管理、资源管理、对象池、事件系统等。开发者可以通过使用这些模块,更高效地组织和管理游戏逻辑和资源,提升开发效率。 其次,Unity HTFramework还提供了一些实用的工具,例如状态机、UI框架、游戏配置系统等。这些工具可以帮助开发者更好地组织游戏逻辑和界面,提供更好的用户体验。 另外,Unity HTFramework还内置了一些常用的功能模块,例如网络通信、音频管理、触摸输入、手机传感器等。通过这些模块,开发者可以方便地添加和管理游戏的各种功能,极大地减少了开发时间和工作量。 除了以上功能外,Unity HTFramework还支持热更新和扩展性。开发者可以通过热更新机制,实现游戏内容、界面和功能的在线更新,无需重新发布整个游戏。同时,框架还提供了灵活的扩展机制,开发者可以根据自己的需求,自定义和扩展各种功能模块,满足不同类型的游戏开发需求。 综上所述,Unity HTFramework是一个功能丰富、易用、高效的游戏开发框架。它可以大大简化游戏开发过程,提升开发效率,帮助开发者快速构建高质量的游戏。无论是个人开发者还是团队开发者,都可以受益于这个框架的使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神码编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值