1 Star 0 Fork 1

卡门/HTFramework

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Unity HTFramework

一个开源的适用于Unity的简易、轻量级框架,更适用于应用软件、小型游戏项目。

环境

  • Unity版本:2018.3.0及以上。

  • .NET API版本:4.x。

模块简介

  • AspectTrack - 根据AOP思想架构的一个面向切面的程序代码追踪模块,它可以跟踪每一个方法的调用,在调用前阻断该方法,亦或是更改其传入的实参,更改其返回值等!可以用于调用日志打印,系统运行监控等需求。

  • AssetBundleEditor - 项目资源监控与资源打包统一编辑器,也可以对项目中的冗余资源进行管理和筛除。

  • Audio - 项目中所有音频的管理器,提供统一的接口用来播放、暂停、停止各种音频资源。

  • Controller - 封装了主角控制、主摄像机控制等,简化了大量重复代码。

  • Coroutiner - 协程调度器,通过协程调度器启动的协程,将会处于调度器的监控中,可以通过CoroutinerTracker追踪面板查看协程的运行状态、运行耗时,可重启、终止任意协程。

  • DataSet - 自定义数据集,任何需要存储数据的地方都可以定义为自定义数据集,包括预制的配置文件、运行时生成的动态数据、从后台拉取的各种数据等。

  • Debug - Debug模块自带Debugger运行时调试器,可以监控一些常规数据与软件运行环境,或是进行一些高级的操作,比如检索场景所有游戏对象(等效于编辑器内Hierarchy窗口的功能),检索游戏对象的所有组件(等效于编辑器内Inspector窗口的功能)。

  • Entity - 实体管理器,除去UI以外,场景中的其余可见物体都应该抽象为Entity,在Entity之上配合FSM一起管理逻辑,将是一个不错的搭配。

  • Event - 可以将一切操作定义为具体的全局事件,通过订阅事件、抛出事件以驱动整个业务逻辑。

  • ExceptionHandler - 异常处理者,当程序任何部位发生未知、未捕获的异常时,他会在这里被截获,并写入日志文件,同时支持在异常发生时打开指定程序(仅在PC平台),或者在异常发生时回馈日志到指定邮箱。

  • FSM - 模拟一切可以抽象为有限状态机结构的业务逻辑,类似于角色动画、怪物AI、任意有独立逻辑的个体等。

  • Hotfix - 以C#反射实现的轻量级热更新框架,开发非常方便,新项目只需要拉取框架源码后,一键即可创建热更新环境,之后便可以正常开发。

  • ILHotfix【可选模块】 - 基于ILRuntime实现的跨平台热更新框架,开发非常方便,新项目只需要拉取框架源码及本模块,一键即可创建热更新环境,之后便可以正常开发。

  • Input - 将任意输入都定义为虚拟输入,再由Input模块统一调用,将是跨平台输入的最优解决方案。

  • Main - 框架主模块,提供访问其他模块的快捷接口。

  • Network - 网络客户端模块,主要支持TCP/UDP等协议。

  • ObjectPool - 专用于GameObject类型的对象池,可以复用任意GameObject对象,以达到减少系统在频繁创建和删除对象时的开销。

  • Procedure - 流程是框架的核心模块,也是最基本的模块,他贯穿整个框架的始终,从框架的生命周期开始,到生命周期结束,都会在流程间完成,同时,他又是一个强化版的有限状态机,当在多个流程间切换直至最终流程时,便代表整个系统的结束。

  • ReferencePool - 可用于任意引用类型(除GameObject)的对象池,可以复用任意引用类型对象,以达到减少系统在频繁创建和删除对象时的开销。

  • Resource - 资源加载管理器,主要用于动态加载资源(只支持异步加载),在加载中或加载完成后都可以进行自定义操作,现在主要支持Resource直接加载和AssetBundle加载,比如,UI模块就会自动调用资源管理器加载UI实体。

  • StepEditor - 严格来说,StepEditor只是框架的一个内置工具,他最开始的用途是用来解决一系列冗长的线性任务,为了实现可视化和降低后期改动的复杂度,当然,也可以用作流程控制器。

  • UI - 用于管理全局的UI实体,以省去手动创建UI实例、销毁UI实例等一系列操作,他可以在非常方便且省去不必要的开销优势下,让你条例清晰的组织和管控好任何复杂的UI结构。

  • Utility - 框架实用工具,包括一些批处理工具及编辑器工具。

  • WebRequest - 网络请求模块,主要用于与web服务器通信,比如请求某一网络链接或服务器接口,获得回复或下载网络上的资源。

使用方法

  • 1.拉取框架到项目中的Assets文件夹下(Assets/HTFramework/),或以添加子模块的形式。

  • 2.将框架根目录下的HTFramework.prefab拖到主场景,并删除主场景其他的东西(除了框架的主要模块,其他任何东西都应该是动态加载的)。

  • 3.开始开发。

MIT License Copyright (c) 2019 HuTao Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

HTFramework 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/johnsonybq/HTFramework.git
git@gitee.com:johnsonybq/HTFramework.git
johnsonybq
HTFramework
HTFramework
master

搜索帮助

371d5123 14472233 46e8bd33 14472233