MVVM Framework for Unity3D
开发者 Clark
要求Unity 5.6.0或者更高版本.
LoxodonFramework 是一个轻量级的MVVM(Model-View-ViewModel)框架,它是专门为Unity3D 游戏开发设计的。参考了WPF和Android的MVVM设计,它提供了视图和视图模型的数据绑定、本地化、一个简单的对象容器、配置文件组件、线程工具组件、应用上下文和玩家上下文,异步线程和协程的任务组件等基本组件,同时还提供了一个UI视图的框架。所有代码都基于面向对象面向接口的思路设计,几乎所有功能都可以自定义。而且在数据绑定部分进行了性能优化,在支持JIT的平台上使用的是委托的方式绑定,在不支持JIT的平台,默认使用的是反射,但是可以通过注入委托函数的方式来优化!
很快将开源这个框架针对XLua的支持插件,目前关于XLua支持的插件核心功能已经完成,在我的QQ群文件共享中可以下载到体验版本
这个插件兼容 MacOSX,Windows,Linux,UWP,IOS and Android,并且完全开源。
已测试的平台:
PC/Mac/Linux
IOS
Android
UWP(window10)
- MVVM框架;
- 支持XLua,可以完全使用Lua脚本开发(可选)
- 多平台支持;
- 高扩展性,面向接口开发;
- 支持线程和协程的异步结果和异步任务,采用Future/Promise设计模式;
- 多线程组件和定时执行器;
- 支持消息系统,订阅和发布事件;
- 可加密的配置文件,支持对象存取,可以自定义对象转换器,支持更多的对象;
- 本地化支持,与Android的本地化类似;
- 数据绑定支持:
- Field绑定,只支持OneTime的模式,因无法支持改变通知;
- 属性绑定,支持TwoWay双向绑定,值修改自动通知;
- 普通字典、列表绑定,不支持改变通知;
- 支持C#事件绑定;
- 支持Unity3D的EventBase事件绑定;
- 支持静态类的属性和Field的绑定;
- 支持方法绑定;
- 支持命令绑定,通过命令绑定可以方便控制按钮的有效无效状态;
- 支持可观察属性、字典、列表的绑定,支持改变通知,视图模型修改自动更改UI显示;
- 支持表达式的绑定;
- 支持类型转换器,可以将图片名称转换为图集中的Sprite
- LoxodonFramework 支持 .Net2.0 和 .Net2.0 Subset
- LoxodonFramework 支持 .Net4.x 和 .Net Standard2.0
- LoxodonFramework 支持 Mono2x 和 IL2CPP
- IOS平台需要配置 AOT Compilation Options: "nrgctx-trampolines=8192,nimt-trampolines=8192,ntrampolines=8192"
- 从Xlua的Github仓库下载最新版的XLua,可以使用源码版本Source code.zip或者xlua_v2.x.xx.zip版本(建议使用xlua_v2.x.xx.zip版本,避免命XLua目录下测试类导致的类名冲突)。将下载好的xlua解压缩,拷贝到项目中。下载XLua
- 配置Unity3D项目PlayerSetting/Scripting Defin Symbols,添加XLUA的宏定义,为避免出错,最好将PC、Android、iOS等平台的都配上。
- 导入LoxodonFramework目录下Docs/XLua/Loxodon.Framework.XLua.unitypackage。如果出现编译错误,请检查是否导入了XLua的Examples目录,这个目录下的InvokeLua.cs文件定义了PropertyChangedEventArgs类,因没有使用命名空间,会导致和System.ComponentModel.PropertyChangedEventArgs类冲突,请删除XLua目录下的Examples文件夹或者给InvokeLua.cs文件中的PropertyChangedEventArgs类添加上命名空间。
- 打开LoxodonFramework/Lua/Examples 目录,查看示例。
邮箱: [email protected]
网站: https://cocowolf.github.io/loxodon-framework/
QQ群: 622321589
如果有需要AssetBundle加载和管理,资源冗余分析插件的,可以看看我的Loxodon.Framework.Bundle