1 Star 0 Fork 88

落星鱼 / QFramework

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

[TOC]

Build Status Coverage Status

QFramework 简介 Intro

QFramework 是一套 渐进式快速开发 框架。目标是作为无框架经验的公司、独立开发者、以及 Unity3D 初学者们的 第一套框架。框架内部积累了多个项目的在各个技术方向的解决方案。学习成本低,接入成本低,重构成本低,二次开发成本低,文档内容丰富(提供使用方式以及原理、开发文档)、插件丰富。github:https://github.com/liangxiegame/QFramework

码云国内镜像仓:https://gitee.com/liangxiegame/QFramework

功能列表

模块名称 包含功能 描述
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 之后写

ShowCase(商业案例)

鬼山之下 谐音梗挑战

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

Stargazers over time

正在进行

快速图解:

1.ViewController和Bind的基本使用 自动生成脚本

自动生成的脚本如下:

2.ViewController和ViewController的嵌套使用

自动生成的脚本如下:

3.自动生成Prefab

4.使用UIKit创建Prefab和脚本

自动生成的脚本如下:

5.使用UIKit子控件UIElement

快速开始 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:

赞助 Donate:

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

运行环境

  • Unity 5.6.x ~ 2021.x

可选的包含项目 Include Projects:

参考 Reference:

核心成员

贡献者/感谢 Developer/Contributor:

优秀的 Unity 库、框架

代码规范完全遵循:

QCSharpStyleGuide

MIT License Copyright (c) 2018 liangxie & karsion 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.

简介

暂无描述 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

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

搜索帮助