このプロジェクトについて

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組み込みデータベース。 リポジトリには、クイックスタートの例、チュートリアル、英語と中国語のドキュメントが含まれています。