Об этом проекте

Loxodon Framework — это легковесный MVVM-фреймворк (Model-View-ViewModel), специально созданный для Unity3D. Он включает привязку данных и различные полезные компоненты. Производительность фреймворка тщательно оптимизирована: избегается упаковка и распаковка значимых типов, минимизируются накладные расходы на сборку мусора. Он использует динамические делегаты и методы статического плетения кода, чтобы обеспечить сопоставимую производительность привязки данных и прямого вызова, нулевую сборку мусора при обновлении UI-представлений и многое другое. Кроме того, он проверен в проектах, демонстрируя превосходную производительность, стабильность и надёжность, а также ясную, расширяемую архитектуру. Ключевые возможности: - MVVM-фреймворк - Поддержка множества платформ (PC/Mac/Linux, iOS, Android, UWP, WebGL) - Высокая расширяемость - Поддержка async & await (C# и Lua) - try/catch/finally для Lua - Поддержка XLua для разработки игр на Lua - Поддержка асинхронных результатов и задач - Планировщик и многопоточность - Система обмена сообщениями - Шифруемые настройки - Поддержка локализации - Плетение кода - Поддержка привязки данных: поле, свойство, словарь/список/массив, событие, Unity EventBase, статическое свойство/поле, метод, команда, ObservableProperty/Dictionary/List, привязка выражений; избегается упаковка/распаковка, используются динамические делегаты и статическое плетение кода для избежания рефлексии, минимизируется GC и достигается нулевой GC при обновлении UI-представлений. Установка и подробная документация доступны в репозитории. Фреймворк требует Unity 2018.4 или выше и поддерживает .Net 4.x и .Net Standard 2.0, Mono и IL2CPP. Несколько плагинов расширяют фреймворк, включая: - Loxodon Framework OSA: добавляет привязку данных к ListView и GridView Optimized ScrollView Adapter. - Loxodon Framework TextFormatting: расширяет StringBuilder AppendFormat для избежания GC и предоставляет элементы управления TemplateText и FormattableText для UGUI. - Loxodon Framework TextMeshPro: обеспечивает поддержку TextMeshPro для AlertDialog и Toast, а также обновление представлений без GC с помощью FormattableTextMeshProUGUI и TemplateTextMeshProUGUI. - Loxodon Framework Data: экспортирует данные Excel в Json, Lua или LiteDB и поддерживает преобразование объектов C# через Json.Net. - 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: компонент сетевого подключения, использующий TcpClient с поддержкой IPv4/IPv6. - DotNetty for Unity: порт Netty для Unity. - LiteDB: легковесная встраиваемая NoSQL-база данных. Репозиторий включает примеры быстрого старта, руководства и документацию на английском и китайском языках.