Skip to content

Og-ChRoNiC/JEngine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

339 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JENGINE v0.6.0

JEngine是针对Unity开发者设计的开箱即用的框架,封装了强大的功能,小白也能快速上手轻松制作可以热更新的游戏

mater分支为开发者认为的可以正常使用,不会有太大问题的最新版本;

稳定版本请使用0.5.x分支;

development分支为开发分支,欢迎fork后在该分支进行修改并PR,也欢迎提交issue!

作者将于2020年12月11日,北京时间晚上9点进行JEngine0.6直播讲解,将讲解底层机制、与0.5版本的差距、功能使用等,敬请期待! v0.6系列文档将在直播后开发!

topLanguage size issue license last

QQ群: 921271552

已有项目使用JEngine热更新,并成功上架iOS

English Document

banner

框架相关

主题 地址
教学视频:介绍+使用+更新+入门 点击跳转
教学视频:核心功能(上)自动绑定+基类+UI+资源解决方案 点击跳转
教学视频:核心功能(中)JAction队列解决方案全系列 点击跳转
教学视频:核心功能(下)数据持久化+对象池+助手类+面板 点击跳转
框架文档 点击跳转
知乎文章 点击跳转
项目地址 GitHub地址
国内镜像 Gitee跳转
QQ群聊 点击加入

框架实战

主题 地址
【Unity x JEngine 开发可热更爆款小游戏】第一集(系列介绍及游戏策划) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第二集(构建项目及界面设计) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第三集(场景界面设计) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第四集(界面设计及代码开发) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第五集(首页UI代码开发) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第六集(Bug修复+代码开发+音乐配置) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第七集(关卡设计+编辑器开发+数据生成) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第八集(关卡读取+界面生成) 点击跳转
【Unity x JEngine 开发可热更爆款小游戏】第九集(关卡生成+按钮事件+游戏管理类) 点击跳转

近期star趋势

Stargazers over time

JEngine能够做些什么?

  • 热更新解决方案

    • 资源热更基于XAsset,JEngine的作者是该框架贡献成员之一
    • C#代码热更基于ILRuntime,JEngine的作者也是该框架U3D工程贡献成员之一
    • 代码加密,C#热更代码生成的DLL会通过AES-128-ECB模式加密进Assetbundle,运行游戏时动态解密
    • 资源加密,XAsset包含VFS功能,可以对资源进行一定程度的加密,AssetStudio无法破解资源
    • 自动赋值,热更脚本可自动添加到游戏物体或预制体,且可自动赋值,不需要手动写代码赋值
  • Action队列解决方案

    • 更少的代码,实现更多功能,效率大幅度提高
    • 轻松执行、延时、等待、定期循环、条件循环、同步/异步运行、取消队列
    • 主线程运行代码
  • UI解决方案

    • UI框架,单例模式更好管理界面
    • 组件自动获取,继承面板基类后通过name获取UI组件
    • UI周期,轻松管理生命周期链式编程让代码更美观
    • UI定期循环更新,可以选择毫秒更新或帧更新,可以指定更新频率
    • UI绑定数据,当数据更新,即可执行绑定的方法
  • 基类解决方案

    • 轻松管理生命周期
    • 可以帧循环,或者毫秒循环
    • 不依赖MonoBehaviour
    • 简单好用
  • 基于XAsset的资源加载方案

    • 支持同步/异步加载资源
    • 泛型方法,轻松使用
    • 异步加载热更场景
  • 自动绑定热更脚本到GameObject

    • 输入命名空间,类名,即可自动绑定热更脚本至物体
    • 可对该脚本public/private/static数值进行赋值
    • 特殊类型支持拖拽赋值
    • 不需要是Mono类,非MonoBehaviour派生类也可正常绑定至GameObject进行赋值,并且可以正常获取
  • 数据持久化解决方案

    • 字符串存本地
    • JSON存本地
    • Protobuf二进制存本地
    • 自带加密
  • 多语言解决方案

    • CSV配表
    • 轻松转换语种
    • 可通过静态方法获取key对应的字符串
    • 可让Text自动根据语言切换文字
  • 内存加密解决方案

    • 支持90%数值类型
    • 偏移值加密
    • 转JSON和Protobuf普通数据结构一样
    • 可以捕获内存作弊
  • 事件派发解决方案

    • 不同于其他事件派发解决方案不需要注册方法名,只需要注册类
    • 类打标签自动注册类里全部方法
    • 主线程或子线程派发
  • 网络层解决方案

    • 目前支持Websocket
    • 有一套SocketIO的消息模型,开箱即用
    • 支持同步、异步并行、纯异步发送消息
  • 对象池解决方案

    • 大幅度提升性能及减少内存开销,相比于常规Instantiate操作
    • 无需重复创建新对象!
    • 智能算法,贪心算法匹配GameObject,对象池满可自动添加!
  • 加密解密解决方案

    • AES加密
    • 支持字符串
    • 支持二进制
  • 序列化解决方案

    • String
    • JSON
    • Protobuf-net二进制
  • 面板类

    • ILRuntime适配器自动生成
    • Protobfuf文件与CS类互转
  • JEngine面板

    • 还有更多功能,尽情自行探索!

JEngine的目的是针对游戏开发者提供精简、美观且高效代码功能,并且使游戏开发者更加轻松的制作游戏

如果你觉得JEngine对你有帮助,请给该框架一个Star!

v0.6.0 最新功能

  • UI框架

  • 优化 JSaver

  • JAction支持 DelayFrames,即等待帧数

  • 修复一大堆Bug

  • JSON检查工具

  • JEvent,类似于谷歌在Java的核心库之一,eventbus

    • 监听整个类里全部方法
    • 监听单个方法
    • 广播数据全部监听事件
    • 可以在 主线程或子线程运行
  • 优化 自动绑定,更加强大

    • 仅在特定的时候进行绑定,对性能进行提升
    • 自动绑定由ClassBindMgr控制,绑定步骤进行分离,对赋值更友好
    • 支持自动获取热更类全部字段和属性
    • 支持自动获取每个Filed的正确fieldType
  • JExtensions

    • 支持从GameObject获取由ClassBind挂载的非MonoBehaviour派生类
    • 添加JBehaviour到GameObject
    • 添加JUI 到GameObject
    • 获取JBehaviour 从GameObject
    • 获取JUI 从GameObject
  • JWebSocket

    • 连接 到websocket服务器
    • 发送 消息到websocket服务器
    • 监听 来自websocket服务器的消息
    • 子线程发送监听
  • JEngine设置面板

    • 支持编辑器启动游戏后自动跳转Init场景
    • 热更场景快捷操作
    • 自动绑定工具
    • 错误修复工具
  • 更多CLR重定向方法

    • 支持MonoBehaviour.SendMessage 广播到热更类
    • 支持MonoBehaviour.Instantiate来生成带热更类的GameObject和复制热更对象
  • JBehaviour优化

    • 区别编辑器与真机,真机性能更好
    • 支持 Deltatime, loop counts, 等
    • 更强大的编辑器界面

    点击此处查看历史版本功能(英文)

即将推出

  • 热更资源及代码的开发模式
  • 加密解密DLL
  • 对象池
  • 内存加密类
  • JPrefab,一个更容易管理热更预制体的解决方案
  • Socket
  • JUI延伸API
  • UI特效
  • 优化算法、代码(一直在优化)

JEngine热更逻辑

flowchart

推荐项目

About

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

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 99.7%
  • Other 0.3%