Loxodon Framework 是一個(gè)輕量級(jí)的MVVM框架裳食,它是專門為Unity3D 游戲開發(fā)設(shè)計(jì)的绽快。我參考了WPF和Android的MVVM設(shè)計(jì),所以在使用上以及類和接口的命名上與他們也都非常類似,我在項(xiàng)目中提供了大量的示例洪鸭,很容易上手挡毅,對(duì)于熟悉MVVM的朋友入門門檻會(huì)更低蒜撮。在WPF中是使用XAML來配置UI的,所以數(shù)據(jù)綁定也在XAML中配置,在Unity3D中段磨,因?yàn)榭紤]到性能問題以及與Unity3D中UGUI的耦合問題取逾,我沒有采用這種XML的配置方式,而是使用腳本綁定的方式苹支。
在這個(gè)框架我提供了視圖和視圖模型的數(shù)據(jù)綁定砾隅、本地化、一個(gè)簡(jiǎn)單的對(duì)象容器债蜜、配置文件組件晴埂、線程工具組件、應(yīng)用上下文和玩家上下文策幼,異步線程和協(xié)程的任務(wù)組件等基本組件邑时,同時(shí)還提供了一個(gè)UI視圖的框架。所有代碼都基于面向?qū)ο竺嫦蚪涌诘乃悸吩O(shè)計(jì)特姐,幾乎所有功能都可以自定義晶丘,很多接口我提供了多種實(shí)現(xiàn),用戶可以自由選擇來使用唐含,一般大眾化的需求只需要使用我的默認(rèn)實(shí)現(xiàn)即可浅浮,對(duì)于有特殊需求或者想擴(kuò)展其他功能的用戶,也可以自己重新實(shí)現(xiàn)接口來滿足特定需求或者擴(kuò)展其他的功能捷枯。
現(xiàn)在滚秩,本框架的XLua插件已經(jīng)發(fā)布,Docs/XLua目錄下面有個(gè)插件包Loxodon.Framework.XLua淮捆,安裝之后郁油,就可以完全使用Lua來開發(fā)游戲,安裝步驟請(qǐng)看Docs/XLua/Readme 文件攀痊。
下載地址:
Asset Store? (Unity3D AssetStore)
cocowolf/loxodon-framework? (github)
技術(shù)支持QQ群: 622321589
使用 MIT 協(xié)議:
該軟件及其相關(guān)文檔對(duì)所有人免費(fèi)桐腌,可以任意處置,包括使用苟径,復(fù)制案站,修改,合并棘街,發(fā)表蟆盐,分發(fā),再授權(quán)遭殉,或者銷售石挂。唯一的限制是,軟件中必須包含上述版 權(quán)和許可提示险污。
以下是我項(xiàng)目介紹頁(yè)面:
LoxodonFramework is a lightweight MVVM(Model-View-ViewModel) framework built specifically to target Unity3D. Databinding and localization are supported.It has a very flexible extensibility.It makes your game development faster and easier.
For tutorials,examples and support,please see the project.You can also discuss the project in the Unity Forums.
The plugin is compatible with MacOSX,Windows,Linux,UWP,IOS and Android,and provides all the source code of the project.
Tested in Unity 3D on the following platforms(已測(cè)試過的平臺(tái)):
PC/Mac/Linux
IOS
Android
UWP(window10)
Downloads
Key Features:
Mvvm Framework(MVVM框架);
XLua(支持XLua誊稚,可以完全使用Lua開發(fā),需要下載Github版本)
Multiple platforms(多平臺(tái)支持);
Higher Extensibility(高擴(kuò)展性);
Asynchronous result and asynchronous task are supported(支持異步結(jié)果和異步任務(wù),采用Future/Promise 設(shè)計(jì)模式);
Scheduled Executor and Multi-threading (多線程組件和定時(shí)執(zhí)行器);
Messaging system support(消息系統(tǒng)里伯,訂閱和發(fā)布);
Preferences can be encrypted(可加密的配置文件);
Localization support(本地化支持,與Android的本地化支持類似);
Databinding support(數(shù)據(jù)綁定支持):
Field binding(Field的綁定渤闷,只支持OneTime模式疾瓮,因?yàn)闊o法支持修改通知);
Property binding(屬性綁定,支持TwoWay雙向綁定飒箭,值改變自動(dòng)通知);
Dictionary,list and array binding(普通的字典狼电、列表綁定,不支持改變通知);
Event binding(事件綁定);
Unity3d's EventBase binding(Unity3d的事件綁定);
Static property and field binding(靜態(tài)類的屬性和field的綁定);
Method binding(方法綁定);
Command binding(命令綁定);
ObservableProperty,ObservableDictionary and ObservableList binding(可觀察屬性弦蹂、字典肩碟、列表的綁定,支持改變通知凸椿,數(shù)據(jù)修改自動(dòng)修改UI顯示);
Notes
LoxodonFramework supports .Net2.0 and .Net2.0 Subset
LoxodonFramework supports Mono2x and IL2CPP
AOT Compilation Options: "nrgctx-trampolines=8192,nimt-trampolines=8192,ntrampolines=8192" for IOS
Tutorials and Examples
Introduction
Window View
Localization
Databinding
Variable Example
ListView Binding
Contact Us
Email: yangpc.china@gmail.comWebsite:?
https://cocowolf.github.io/loxodon-framework/QQ Group: 622321589