All Projects → liangxiegame → Qframework

liangxiegame / Qframework

Licence: mit
Unity3D System Design Architecture

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to Qframework

Impulse
A barebones C# bootstrap framework for building scalable projects quickly and easily in Unity.
Stars: ✭ 109 (-95.31%)
Mutual labels:  unity, unity3d, unity-scripts, unity2d
Unitylibrary
📚 Library of all kind of scripts, snippets & shaders for Unity
Stars: ✭ 1,968 (-15.39%)
Mutual labels:  unity, unity3d, unity-scripts, unity2d
Unity Script Collection
A maintained collection of useful & free unity scripts / library's / plugins and extensions
Stars: ✭ 3,640 (+56.49%)
Mutual labels:  unity, unity3d, unity-scripts, unity2d
Apple Signin Unity
Unity plugin to support Sign In With Apple Id
Stars: ✭ 228 (-90.2%)
Mutual labels:  unity, unity3d, unity-scripts, unity2d
Goes
Go Event Sourcing made easy
Stars: ✭ 144 (-93.81%)
Mutual labels:  flux, cqrs, ddd, event-driven
Almin
Client-side DDD/CQRS for JavaScript.
Stars: ✭ 477 (-79.49%)
Mutual labels:  framework, flux, cqrs, ddd
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 (-75.75%)
Mutual labels:  framework, unity, unity3d, unity2d
Savegamepro
A Complete and Powerful Save Game Solution for Unity (Game Engine)
Stars: ✭ 30 (-98.71%)
Mutual labels:  unity, unity3d, unity-scripts, unity2d
Factory
Factory for object creation and dependency injection. Works with normal C# apps or under Unity3d
Stars: ✭ 50 (-97.85%)
Mutual labels:  unity, unity3d, dependency-injection, inversion-of-control
Unity Assetpipeline Presentation
Unity project for "A Technical Deep-Dive into Unity's Asset Pipeline" presented at Develop: 2018
Stars: ✭ 31 (-98.67%)
Mutual labels:  unity, unity3d, unity-scripts, unity2d
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 (-48.58%)
Mutual labels:  framework, unity, unity3d, unity2d
Unity3d Dynamicallyloadinganimation
👾 Unity3D Loading and unloading animations at runtime (Example)
Stars: ✭ 74 (-96.82%)
Mutual labels:  unity, unity3d, unity-scripts, unity2d
Unity Ui Examples
📚 A collection of UI examples for Unity.
Stars: ✭ 152 (-93.47%)
Mutual labels:  unity, unity3d, unity-scripts, unity2d
Unity Scriptableobjects Game Events
Based on a great talk by Ryan Hipple, here is my improved version of his Game Event system for Unity
Stars: ✭ 121 (-94.8%)
Mutual labels:  unity, unity3d, unity2d
Unity
This repository contains all relevant information about Unity Container suit
Stars: ✭ 1,513 (-34.95%)
Mutual labels:  unity, dependency-injection, ioc
Infinity Square Space
Infinity Square/Space. The prototype of the game is open source. Unity Asset.
Stars: ✭ 122 (-94.75%)
Mutual labels:  unity, unity3d, unity-scripts
Eventflow.example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Stars: ✭ 131 (-94.37%)
Mutual labels:  cqrs, ddd, event-driven
U.movin
Unity library for rendering After Effects shape animations
Stars: ✭ 122 (-94.75%)
Mutual labels:  unity, unity-scripts, unity2d
Event Sourcing Jambo
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
Stars: ✭ 159 (-93.16%)
Mutual labels:  cqrs, ddd, event-driven
Booster
Booster Cloud Framework
Stars: ✭ 136 (-94.15%)
Mutual labels:  framework, cqrs, event-driven

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 之后写
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].