All Projects → SaiTingHu → Htframework

SaiTingHu / Htframework

Licence: other
Unity HTFramework, a rapid development framework of client to the unity.

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Htframework

Jengine
JEngine是针对Unity开发者设计的开箱即用的框架,封装了强大的功能,小白也能快速上手,轻松制作可以热更新的游戏 | JEngine is a streamlined and easy-to-use framework designed for Unity Programmers which contains powerful features, beginners can start up quickly and making hot update-able games easily
Stars: ✭ 564 (+215.08%)
Mutual labels:  framework, game, unity, unity3d, hotfix
Bdframework.core
[中]Simple! Easy! Powerful Unity3d game workflow! Unity3d framework:c# hotfix(ILRuntime)、asset manager、ui workflow、network debug... and so on
Stars: ✭ 1,196 (+568.16%)
Mutual labels:  framework, game, unity, unity3d, hotfix
Actors.unity
🚀Actors is a framework empowering developers to make better games faster on Unity.
Stars: ✭ 437 (+144.13%)
Mutual labels:  ecs, entity, unity, unity3d
Knight
Knight is a game framework based on Unity3D engine. It includes a complete assetbundle manager, a c# hotfix module based on ILRuntime, and a UI module based on MVVM, and other basic functions support.
Stars: ✭ 302 (+68.72%)
Mutual labels:  framework, unity, unity3d, hotfix
Gdk For Unity Fps Starter Project
SpatialOS GDK for Unity FPS Starter Project
Stars: ✭ 119 (-33.52%)
Mutual labels:  ecs, game, unity, unity3d
09 Zombierunner Original
First person shooter with Unity terrain and AI pathfinding (http://gdev.tv/cudgithub)
Stars: ✭ 64 (-64.25%)
Mutual labels:  ai, game, unity, unity3d
Entitas Csharp
Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity
Stars: ✭ 5,393 (+2912.85%)
Mutual labels:  ecs, entity, game, unity
Ecs Snake
Simple snake game powered by ecs framework.
Stars: ✭ 41 (-77.09%)
Mutual labels:  ecs, entity, unity, unity3d
Unity Core Project
Core Framework for Unity
Stars: ✭ 42 (-76.54%)
Mutual labels:  framework, game, unity, unity3d
Ecs
ECS for Unity with full game state automatic rollbacks
Stars: ✭ 151 (-15.64%)
Mutual labels:  ecs, framework, unity, unity3d
Unity Platformer
Unity platformer framework: IA, Ladders, Jumps, WallStick, WallJumps, Slopes, MovingPlatforms, OneWayPlatforms/Walls, Ropes and more...
Stars: ✭ 97 (-45.81%)
Mutual labels:  game, unity, unity3d
Projectfieldwarning
Project: Field Warning is a community-made RTS game centered around lethal regiment and division-scale warfare.
Stars: ✭ 86 (-51.96%)
Mutual labels:  game, unity, unity3d
Lockstepplatform
Stars: ✭ 84 (-53.07%)
Mutual labels:  ecs, framework, unity
1 Character Movement
The first section of the course. You will learn everything required to build a simple movement system in your RPG, creating the core experience. http://gdev.tv/rpggithub
Stars: ✭ 81 (-54.75%)
Mutual labels:  game, unity, unity3d
Geotic
Entity Component System library for javascript
Stars: ✭ 97 (-45.81%)
Mutual labels:  ecs, entity, game
Entitas Sync Framework
Networking framework for Entitas ECS. Targeted at turnbased games or other slow-paced genres.
Stars: ✭ 98 (-45.25%)
Mutual labels:  ecs, game, unity
Otto
Otto sample project for the AI Planner
Stars: ✭ 113 (-36.87%)
Mutual labels:  ai, unity, unity3d
Infinity Square Space
Infinity Square/Space. The prototype of the game is open source. Unity Asset.
Stars: ✭ 122 (-31.84%)
Mutual labels:  game, unity, unity3d
Towerdefense
A Tower Defense style game example in Unity
Stars: ✭ 122 (-31.84%)
Mutual labels:  game, unity, unity3d
Core
CatLib lightweight dependency injection container
Stars: ✭ 148 (-17.32%)
Mutual labels:  framework, unity, unity3d

image

license version supported

Unity HTFramework

HTFramework是基于Unity的一个快速开发框架,集需求模块化、代码重用性、实用便捷性、功能高内聚、统一编码规范、可扩展性、可维护性、可通用性、可插拨性为一体,并提供持续维护、升级。

环境

  • Unity版本:2018.4.0及以上。

  • .NET API版本:4.x。

编码规范

模块简介

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

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

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

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

  • CustomModule - 框架内置了多个常用的模块,如果想要添加自己的模块,通过CustomModule添加自定义模块即可,自定义模块拥有与内置模块完全一样的生命周期。

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

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

  • ECS - 实体-组件-系统,此ECS非Unity的ECS,并不一定会带来性能的提升,只是基于ECS的思想,建立在Unity现有的组件模式之上,以ECS模式进行开发可以避开项目后期繁重的继承链,提升开发速度和质量、以及项目稳定性。

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

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

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

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

  • Hotfix - 以C#反射实现的轻量级热更新框架,开发非常方便,新项目只需要拉取框架源码后,一键即可创建热更新环境,之后便可以用C#正常开发,目前已支持在热更新库中动态修复外界的任何方法,无需重新发布项目。

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

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

  • Network - 网络客户端模块,以单个通信管道为单位,每个管道均支持TCP/UDP等协议,可以为每个管道定义通信消息格式,基本能胜任一些常见的通信环境。

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

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

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

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

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

  • TaskEditor - 任务编辑器,可以自定义任务点,设置任务达成条件,多个任务点组成一个任务内容,使用一系列任务内容完成角色扮演的设计。

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

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

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

  • AI【可选模块】 - AI相关模块,比如A*寻路以及各种人工智能模块。

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

  • XLua【可选模块】 - 本模块旨在结合XLua与框架的资源加载策略,快速实现热更流程,并优化了开发环境,使得开发人员可以最低成本的投入到Lua业务开发。

  • GameComponent【可选模块】 - 游戏组件模块,本模块整合了多个游戏开发过程中可能会涉及到的子系统或组件,包括但不仅限于文件系统、本地化系统、新手引导系统、时间系统、AVG2D系统、FTG2D系统、RPG2D系统等,且各个系统或组件均为可插拨式,可一键移除不需要的系统或组件,或再次一键导入。

内置工具

演示代码

注意事项

  • 1.框架中所有On开头的函数为生命周期函数或回调函数,均由框架呼叫,请勿手动调用。

  • 2.框架中的Procedure(流程)必须包含至少一个流程才能正确构建项目,而其他模块,如无需要,均可以不使用。

主要特性

  • 1.入口场景为一切的开始,也为一切的结束,整个游戏的生命周期都将在入口场景中完成,不建议使用多场景切换模式,如果确实需要使用,可以将其他场景打入AB包内加载。

  • 2.入口场景中只包含框架主模块(或其他自定义主模块、主控制器),其他任何东西都应该是动态加载的。

使用方法

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

  • 2.在入口场景的层级(Hierarchy)视图点击右键,选择 HTFramework -> Main Environment(创建框架主环境),并删除入口场景其他的东西(除了框架的主要模块,其他任何东西都应该是动态加载的)。

  • 3.参阅各个模块的帮助文档,开始开发。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].