10 Star 95 Fork 32

凉鞋 / QFramework

加入 Gitee
与超过 600 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未指定开源许可证,未经作者的许可,此代码仅用于学习,不能用于其他用途。
克隆/下载
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

Build Status

QFramework 简介 Intro

中文|English

QFramework 是提供一套简单、强大、易上手、符合 SOLID 原则、支持领域驱动设计(DDD)、事件驱动、数据驱动、分层、MVC 、CQRS、模块化、易扩展的架构,她的源码只有不到 800 行,你可以完全把她放在你的笔记应用里保存。

提供的架构图

示意图

运行环境

  • Unity 2018.4.x ~ 2021.x

安装

资源

名称 描述 地址
------示例/Demo------
Example 示例 包含 CounterApp、《点点点》小游戏等 QF 使用示例 github|gitee
ShootingEditor2D 包含一个关卡编辑器的开源射击游戏 github|gitee
------群友案例------
赛车游戏《Crazy Car》 群友 TastSong 使用 QF 进行重构的开源赛车游戏 游戏主页(Github)
------社区------
QQ 群:623597263 交流群 点击加群
github issue github 社区 地址
gitee issue gitee 社区(国内访问快) 地址
------教程------
教程《框架搭建 决定版》 教程 QFramework 的核心架构是怎么演化过来的? 课程主页
------产品案例------
独立游戏《鬼山之下》 使用 QF 制作的独立游戏 游戏主页(Steam)
手机游戏《谐音梗挑战》 使用 QF 制作的手机游戏 游戏主页(TapTap)
------官方工具------
SingletonKit 易上手功能强大的单例工具,由 QF 官方维护 github|gitee

Star 趋势(如果项目有帮到您欢迎点赞)

Stargazers over time

核心成员

优秀的 Unity 库、框架

代码规范完全遵循:

QCSharpStyleGuide

赞助 Donate:

  • 如果觉得不错可以在 这里 Asset Store 给个 5 星哦~ give 5 star
  • 或者给此仓库一个小小的 Star~ star this repository
  • 以上这些都会转化成我们的动力,提供更好的技术服务!

TODO:

以下内容待整理内容

快速开始 QuickStart:

1.Action Kit

  • chainning style(Driven by MonoBehaviour or Update)
this.Sequence()
	.Delay(1.0f)
	.Event(()=>Log.I("Delayed 1 second"))
	.Until(()=>something is done)
	.Begin();
  • object oriented style
var sequenceNode = new SequenceNode();
sequenceNode.Append(DelayAction.Allocate(1.0f));
sequenceNode.Append(EventAction.Allocate(()=>Log.I("Delayed 1 second"));
sequenceNode.Append(UntilAction.Allocate(()=>something is true));

this.ExecuteNode(sequenceNode);

2.Res Kit

// allocate a loader when initialize a panel or a monobehavour
var loader = ResLoader.Allocate();

// load someth in a panel or a monobehaviour
loader.LoadSync<GameObject>("resources://smobj");

loader.LoadSync<Texture2D>("resources://Bg");

// load by asset bundle's assetName
loader.LoadSync<Texture2D>("HomeBg");

// load by asset bundle name and assetName
loader.LoadSync<Texture2D>("home","HomeBg");


// resycle this panel/monobehaivour's loaded res when destroyed 
loader.Recycle2Cache();
loader = null;

3.UI Kit

// open a panel from assetBundle
UIKit.OpenPanel<UIMainPanel>();

// load a panel from specified Resources
UIKit.OpenPanel<UIMainPanel>(prefabName:"Resources/UIMainPanel");

// load a panel from specield assetName
UIKit.OpenPanel<UIMainPanel>(prefabName:"UIMainPanel1");

技术支持 Tech Support:

下载地址 Download:

可选的包含项目 Include Projects:

参考 Reference:

功能列表

模块名称 包含功能 描述
Core Architecture 一套全栈通用的系统设计架构,QF 的本身是用这套架构设计,同时这套架构可以应用与项目开发,为 QF 的主要提供架构,QF 的文档系统(React)、QF 的插件系统(.Net Core)均用此架构开发。
CodeGen 代码生成库,一套链式代码生成模板。
Singleton 一套单例模板工具
IOC 依赖注入/控制反转容器
Event 事件机制实现,包含枚举事件 和 类型事件
Pool 各种对象池提供,包含 List、Dictionary 对象池
FSM 一套基于类型的状态机实现
Disposable 销毁模式 和 对应扩展方法实现
Factory 对象的创建模式封装
RefCounter 引用计数器实现
CSharpExtensions 大量的方便易用的扩展实现
Table 可以建立索引的表格数据结构实现
EasyIMGUI 方便易用的、面向对象的(组合模式)的 IMGUI(OnGUI)绘制库
Utility 各种静态方法封装
ManagerOfManagers(弃用) Manager Of Managers 架构的实现
ActionKit 之后写
ResKit SimulationModel 真机和编辑器模拟资源加载双模式,让开发阶段与真机阶段自如切换
ResPathLoad 从Resources目录与沙盒目录以及从网络中加载资源
LoadSprite 加载Sprite或精灵图集
LoadScene 在AssetBundle中同步与异步加载Scene场景
ResAssetManager 标记的AssetBunlde资源管理,快速定位
LoadASync 异步加载与异步队列加载
CustomRes Reskit功能自定义拓展
CustomLoadConfig AssetBundle自定义配置表生成
UIKit 之后写
AudioKit 之后写

仓库评论 ( 0 )

你可以在登录后,发表评论

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/liangxiegame/QFramework.git
git@gitee.com:liangxiegame/QFramework.git
liangxiegame
QFramework
QFramework
master

搜索帮助

182229 41614e54 1850385 182230 7885ed45 1850385