このプロジェクトについて
Loxodon Frameworkは、Unity3D向けに特別に設計された軽量MVVM(Model-View-ViewModel)フレームワークです。データバインディングや様々な便利なコンポーネントが含まれています。フレームワークのパフォーマンスは細心の注意を払って最適化されており、値型のボックス化・ボックス化解除を回避し、ガベージコレクションのオーバーヘッドを最小限に抑えています。動的デリゲートや静的コードウィービング技術を利用して、データバインディングと直接呼び出しの間で同等のパフォーマンスを確保し、UIビューの更新中はガベージコレクションをゼロにしています。さらに、プロジェクトで検証されており、優れたパフォーマンス、安定性、信頼性を示し、明確で拡張可能なアーキテクチャを備えています。
主な機能は以下の通りです:
- MVVMフレームワーク
- 複数プラットフォーム対応(PC/Mac/Linux、iOS、Android、UWP、WebGL)
- 高い拡張性
- async & await対応(C#およびLua)
- Lua向けtry/catch/finally
- Luaでのゲーム開発を可能にするXLua対応
- 非同期結果とタスク対応
- スケジュール実行とマルチスレッド
- メッセージングシステム
- 暗号化可能なプリファレンス
- ローカライゼーション対応
- コードウィービング
- データバインディング対応:フィールド、プロパティ、辞書/リスト/配列、イベント、Unity EventBase、静的プロパティ/フィールド、メソッド、コマンド、ObservableProperty/Dictionary/List、式バインディング;ボックス化・ボックス化解除を回避し、動的デリゲート/静的コードウィービングでリフレクションを回避、GCを最小化し、UIビューの更新中はゼロGCを実現。
インストールと詳細なドキュメントはリポジトリで入手できます。フレームワークはUnity 2018.4以上が必要で、.Net 4.xと.Net Standard 2.0、MonoとIL2CPPをサポートしています。
フレームワークを拡張するプラグインがいくつかあります:
- Loxodon Framework OSA:Optimized ScrollView AdapterのListViewとGridViewにデータバインディングを追加します。
- Loxodon Framework TextFormatting:GCを回避するためにStringBuilder AppendFormatを拡張し、UGUI向けのTemplateTextとFormattableTextコントロールを提供します。
- Loxodon Framework TextMeshPro:AlertDialogとToast向けのTextMeshProサポートを提供し、FormattableTextMeshProUGUIとTemplateTextMeshProUGUIでGCフリーのビュー更新を実現します。
- Loxodon Framework Data:ExcelデータをJson、Lua、またはLiteDBにエクスポートし、Json.Netを介したC#オブジェクト変換をサポートします。
- Loxodon Framework Fody:ToString、PropertyChanged、BindingProxy向けの静的コードウィービングプラグイン。
- Loxodon Framework UIToolkit:UIToolkitをデータバインディングと統合し、UGUIとの混在使用を可能にします。
- Loxodon Framework ILRuntime:ILRuntimeのサポート。
- Loxodon Framework Localization For CSV:CSVローカライゼーションファイルをサポートします。
- Loxodon Framework XLua:Luaスクリプトによるゲーム開発を可能にします。
- Loxodon Framework Bundle:依存関係追跡、シミュレーションモード、冗長性分析を備えたAssetBundleマネージャー。
- Loxodon Framework NLogおよびLog4Net:ロギングプラグイン。
- Loxodon Framework Obfuscation:メモリ改ざんを防ぐための数値型のメモリ難読化。
- Loxodon Framework Addressable:Unity Addressablesとの統合。
- Loxodon Framework Connection:IPv4/IPv6対応のTcpClientを使用したネットワーク接続コンポーネント。
- DotNetty for Unity:Unity向けのNettyの移植版。
- LiteDB:軽量なNoSQL組み込みデータベース。
リポジトリには、クイックスタートの例、チュートリアル、英語と中国語のドキュメントが含まれています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.