All Projects → icipiqkm → Qp.framework

icipiqkm / Qp.framework

Licence: gpl-3.0
基于xLua的全Lua热更新框架

Projects that are alternatives of or similar to Qp.framework

2d Spaceshooter
A very simple 2D space shooter game made with Unity
Stars: ✭ 6 (-89.09%)
Mutual labels:  game, unity3d
Tower Defense Game
this is a game made with Unity, the goal is to protect the tower against robots.
Stars: ✭ 25 (-54.55%)
Mutual labels:  game, unity3d
Buttons And Boxes
A Sokoban-esque puzzle game developed in unity 3D in 2016
Stars: ✭ 17 (-69.09%)
Mutual labels:  game, unity3d
Fungus
An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
Stars: ✭ 786 (+1329.09%)
Mutual labels:  game, unity3d
Srp
A customized forward+ render pipeline for Unity
Stars: ✭ 53 (-3.64%)
Mutual labels:  game, unity3d
Loxodon Framework
An MVVM & Databinding framework that can use C# and Lua to develop games
Stars: ✭ 802 (+1358.18%)
Mutual labels:  game, unity3d
Pitaya
Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.
Stars: ✭ 927 (+1585.45%)
Mutual labels:  game, game-framework
Texturepanner
This repository hosts a shader for Unity3D whose main goal is to facilitate the creation of neon-like signs, conveyor belts and basically whatever based on scrolling textures
Stars: ✭ 528 (+860%)
Mutual labels:  game, unity3d
Hsplugins
Various Honey Select plugins
Stars: ✭ 21 (-61.82%)
Mutual labels:  game, unity3d
Beaverandfairies
Stars: ✭ 14 (-74.55%)
Mutual labels:  game, unity3d
Nanoserver
DEMO: Mahjong server base on nano(https://github.com/lonng/nano)
Stars: ✭ 706 (+1183.64%)
Mutual labels:  game, game-framework
Chasingplanes unity3d
A "Missiles" game replica, 2D fun mobile game about avoiding missiles while flying a plane.
Stars: ✭ 42 (-23.64%)
Mutual labels:  game, unity3d
Gameproject3
游戏服务器框架,网络层分别用SocketAPI、Boost Asio、Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。还包含一个不断完善的Unity 3D客户端,客户端含大量完整资源,坐骑,宠物,伙伴,装备, 这些均己实现上阵和穿戴, 并可进入副本战斗,多人玩法也己实现, 持续开发中。
Stars: ✭ 655 (+1090.91%)
Mutual labels:  game, game-framework
Gonet
go分布式服务器,基于内存mmo
Stars: ✭ 804 (+1361.82%)
Mutual labels:  game, game-framework
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 (+925.45%)
Mutual labels:  game, unity3d
Number Wizard Ui Original
Introducing basic User Interface in the Complete Unity C# Developer 2D course (http://gdev.tv/cudgithub)
Stars: ✭ 18 (-67.27%)
Mutual labels:  game, unity3d
Actors.unity
🚀Actors is a framework empowering developers to make better games faster on Unity.
Stars: ✭ 437 (+694.55%)
Mutual labels:  unity3d, game-framework
Airtest
UI Automation Framework for Games and Apps
Stars: ✭ 5,733 (+10323.64%)
Mutual labels:  game, unity3d
Pokemonunity
A framework to build Pokémon RPG games.
Stars: ✭ 934 (+1598.18%)
Mutual labels:  game, unity3d
Savegamepro
A Complete and Powerful Save Game Solution for Unity (Game Engine)
Stars: ✭ 30 (-45.45%)
Mutual labels:  game, unity3d

QP.Framework

一个整合了XLua的Unity5 AssetBundle 轻量级全Lua的热更新框架,实现了资源打包、下载、资源管理、加载资源等一系列流程,使用简单且灵活

版本更新 2.0.0

  • 增加Module类来管理一个模块的更新/下载/初始化资源/跳转场景
  • 重构下载相关的功能代码,C#对lua公开的方法都由Module类来提供
  • 封装了HttpWebRequest 和 UnityWebRequest 两个类来支持断点续传,暂停和恢复下载

启动

启动场景在Assets/Framework/AppStart中

修改Assets/Defined/GameConfig.cs 的 gameModel

  • Editor 不更新,需要把Modules下面所有场景添加到File->Build Settings中
  • Local 更新,下载后的数据会存放到StreamingAssets目录,在打包AssetBundle的时候也是这个目录,这个时候需要把StreamingAssets下的资源放到服务器,然后删除StreamingAssets下的Modules目录才能看到更新效果
  • Remote 更新,发布版本,对应的目录自行百度

描述

Modules(Modules这个目录可以自定义)下的每个一级子目录都看作是一个独立的模块,可以是一个游戏玩法也可以是游戏大厅,也可以是公共资源 在启动游戏的时候根据自己的需求去下载必要的模块,比如:先下载LuaFramework->下载Common公共资源->GameBox游戏大厅。然后根据需求在适当的时机去下载其他模块。

打包AssetBundle

框架会打包Modules目录下的每个模块,每个模块的子目录结构:

  • AB_Lua
  • AB_Prefab
  • AB_Scene
  • AB_Texture
  • AB_Material
  • AB_Audio

如果这些还不够可以在 Editor/Package.cs 中自己添加,每个模块中可以选择性的创建这些目录,框架只会打包这些目录下的所有资源

如果你想把AB_xxx内所有资源打成一个AssetBundle的话,只需要在AB_xxx中创建一个以 _下划线开头命名的目录,这代表这个目录下的资源要打成一个资源包,AssetBundle的包名就是这个目录的名,如果没有以_下划线开头命名的目录默认会把资源单独打包

注意事项

如果你有一个目录是这样的 AB_Prefab/_package/panel/_common/panel.prefab,
这种结构会把panel.prefab打到_common中,_common目录之外的会打包到_package中

如果有问题欢迎一起探讨 也欢迎有兴趣的朋友贡献代码 一起学习交流 [email protected]

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].