Coder Social home page Coder Social logo

qp.framework's Introduction

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中

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

qp.framework's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.