1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/JasonXuDeveloper-JEngine

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGE.md 24 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 07:19 26bfbb2

Все версии

0.8.0 (11 апреля 2023)

  • Поддерживается WebGL.
  • Удалено JUI (будет переработано в ближайшее время).
  • Оптимизировано производительность LifeCycleMgr.
  • Оптимизированы функции ThreadMgr.
  • Оптимизирована производительность JStream.
  • Оптимизирована производительность JBehaviour.
  • Оптимизирована производительность MonoBehaviour.
  • Оптимизирована производительность FpsMonitor.
  • Оптимизированы интерфейсы CryptoMgr.
  • Оптимизирован сборщик мусора для JBehaviour/ClassBind Object/MonoBehaviour.
  • Оптимизирована работа функций GetComponent(s)/FindObject(s)OfType.
  • Переключено на YooAsset для модуля управления активами (вместо Bundle Master).
  • Новая функция UnsafeMgr, которая предоставляет небезопасные (используемые для оптимизации) функции.
  • Новая функция UnmanagedMemoryPool, которая поддерживает выделение неуправляемой памяти с пулингом.
  • Новая функция CoroutineMgr, которая поддерживает выполнение и остановку корутин из класса, не являющегося MonoBehaviour.
  • Новая структура Разделение исходного кода JEngine на несколько пакетов.

0.7.5 (25 сентября 2022)

  • Обновлён ILRuntime до версии v2.1.0.
  • Оптимизирован рабочий процесс регистрации кода.
  • Оптимизирована стратегия буфера JStream.
  • Оптимизированы производительность и сборщик мусора ClassBind.
  • Оптимизированы процедура Initialize и производительность JEngine.
  • Оптимизированы производительность и сборщик мусора LifeCycleMgr.
  • Оптимизированы производительность и сборщик мусора FindObjectsOfType.
  • Оптимизированы производительность и сборщик мусора JBehaviour, устранена его зависимость от MonoBehaviour.
  • Оптимизированы производительность и сборщик мусора Loom (выполнение действий в основном потоке), устранена его зависимость от MonoBehaviour.

0.7.4 (22 сентября 2022)

  • Исправлена ошибка.
  • Импортирована высокопроизводительная библиотека C# Nino.
  • Оптимизированы производительность и сборщик мусора JBehaviour.
  • Оптимизированы логика обновления и сборщик мусора MonoBehaviour.
  • Оптимизирован размер выделенной памяти и сборщик мусора блока шифрования модуля интерпретации.

0.7.3 (14 июля 2022)

  • Исправлена ошибка.
  • Обновлён ILRuntime.
  • Обновлён Bundle Master.
  • Улучшена производительность JBehaviour.
  • Повышена производительность ClassBind во время выполнения.
  • Почти нет выделения сборщика мусора при использовании метода асинхронного ожидания.

0.7.2 (15 мая 2022)

  • Исправлена ошибка.
  • Усовершенствован код фреймворка.
  • Улучшен Lifecycle.
  • Обновлено ETTask.
  • Улучшено JAction.
  • Улучшено JBehaviour.
  • Улучшено исключение StackTrace Unity.
  • Поддержка HotUpdateResource Blacklist.
  • Новый Protobuf Serialize Demo.
  • Обновлена библиотека Protobuf-net.

0.7.1 (28 марта 2022)

  • Обновление ILRuntime v2.0.2.
  • Поддержка нескольких пакетов горячих обновлений.
  • Удалено XAsset.
  • Импорт BundleMaster.

0.7.0 (17 февраля 2022)

  • Пометка зависимостей как модулей (более стандартизированный подход).
  • Поддержка автономного режима (запуск игры без создания сервера ресурсов).
  • Изменение процедуры разработки (улучшенный опыт разработки).
  • Развязка кода фреймворка (облегчённый и ещё более простой в использовании).
  • Улучшение кода фреймворка (повышенная производительность).
  • Улучшены Litjson и Protobuf-net (более надёжные инструменты (де)сериализации).
  • Исправление всех проблем, возникших в версии 0.6.3 (более мощный и с меньшим количеством ошибок).
  • Больше демонстрационных примеров (проще начать работу).
  • Добавление расширяемого валидатора (новая функция).
  • Полезные инструменты расширения пользовательского интерфейса (новая функция).
  • ILRuntime2.0 (повышенная производительность с меньшим количеством ошибок).
  • JPrefab Upgrade (поддержка синхронизации для создания и уничтожения нескольких объектов одновременно).
  • Новые жизненные циклы JBehaviour (аналогично OnEnable и OnDisable MonoBehaviour).

v0.6.3 (13 августа 2021)

  • Реализован [System.Serializable] при генерации c# из proto.
  • Изменён ClassBind по умолчанию на активный после.
  • Повышена точность для JFloat.
  • Улучшен проект Unity, который больше не зависит от JBehaviour от решения HotUpdate.
  • Новое JEvent + Event Demo.

v0.6.2 (30 апреля 2021)

  • Исправлено множество ошибок.
  • Поддерживается XAsset 6.1 (относительно ветки xasset6.1).
  • Оптимизация JAction.
  • Оптимизация Downloader.
  • Оптимизация производительности ClassBind.
  • Оптимизация решения локализации.
  • Оптимизация сериализации инспектора горячих объектов.
  • Оптимизация генератора кросс-доменных адаптеров ILRuntime. Оптимизация GameObject.Instantiate перенаправление CLR
  • Обновление панели JEnginePanel
  • Улучшение функции Bindable Property в JUI
  • Обновить ILRuntime до версии v1.6.7
  • Добавить поддержку фильтров для ClassBind при автоматическом извлечении полей
  • Добавить горячую поддержку исходного кода с шифрованием памяти, не влияющим на производительность
  • Добавить демоверсии JEngine (Instantiate, Generic Cross Domain Adaptor и т. д.)

v0.6.1 (4 января 2021)

  • Обновление ILRuntime до v1.6.6
  • Улучшение генератора адаптеров ILRuntime
  • Автоматическое регистрирование адаптеров ILRuntime
  • Больше демоверсий JEngine
  • Улучшенные логи
  • Поддержка трассировки стека для JBehaviour & JEvent & и т.д. на определённой строке
  • UIUtility с кэшем словаря для ускорения загрузки компонентов пользовательского интерфейса
  • Теперь поддерживаются все события MonoBehaviour
  • Автоматическая генерация событий MonoBehaviour для адаптеров, наследующих MonoBehaviour
  • ClassBind поддерживает связывание различных адаптеров
  • Поддерживается добавление и получение компонента с помощью различных адаптеров, которые наследуют MonoBehaviour
  • Генерация редактора для адаптеров
  • В скриптах горячего обновления поддерживается Invoke, InvokeRepeating, IsInvoking, CancelInvoke
  • JEvent поддерживает методы подписки из базового класса
  • Исправлена ошибка сохранения данных на префабах
  • JSaver поддерживает получение значения по умолчанию
  • Улучшенный редактор панели
  • Поддержка XAsset Pro (основная функция — исправление ошибок, требуется подписка)

v0.6.0 (6 декабря 2020)

  • UI Framework
  • Улучшения JSaver
  • JAction поддерживает DelayFrames
  • Исправлено множество ошибок
  • Инструмент проверки JSON
  • JEvent, похожий на Google core libraries для Java, eventbus
    • Подписка класса
    • Метод подписки
    • Отправка данных всем подписанным событиям
    • Может работать в основном потоке или в подпотоке
  • Усовершенствования ClassBind, более мощный
    • Автоматическое связывание при необходимости, лучшая производительность
    • Управление через ClassBindMgr, более продвинутое при настройке полей
    • Поддержка автоматического получения всех полей из класса горячего обновления
    • Поддержка автоматического определения типа поля для поля
  • JExtensions
    • Позволяет получить класс горячего обновления от GameObject через Classbind
    • Добавить JBehaviour к GameObject
    • Добавить JUI к GameObject
    • Получить JBehaviour от GameObject
    • Получить JUI от GameObject
  • JWebSocket
    • Подключение к серверам websocket
    • Отправка сообщений на серверы websocket
    • Прослушивание сообщений с серверов websocket
    • Слушание и отправка в подпотоке
  • Панель настроек JEngine
    • Автоматическое переключение на сцену инициализации при запуске
    • Ярлыки для горячего обновления сцен
    • Инструменты ClassBind
    • Инструменты для спасения от ошибок
  • Дополнительные методы перенаправления CLR
    • Поддержка MonoBehaviour.SendMessage из класса горячего обновления
    • Поддержка MonoBehaviour.Instantiate GameObject с классами горячего обновления и одним классом горячего обновления
  • Улучшения JBehaviour
    • Работает лучше после сборки, чем в редакторе
    • Поддерживает Deltatime, счётчики циклов и т. д.
    • Мощный инспектор

v0.5.8 (29 октября 2020)

  • Исправление ошибки при копировании потокового актива
  • Конвертер типа C# в файл Proto
  • Переупорядочивание пунктов меню
  • Улучшения ClassBind
  • Более продвинутый редактор JBehaviour
  • JBehaviour поддерживает создание с помощью вызова new()
  • BindableProperty поддерживает привязку к нескольким событиям

v0.5.7 (25 октября 2020)

  • JBehaviour: избавились от MonoBehaviour, значительно повысилась производительность
  • JUI: избавились от MonoBehaviour
  • Помощник Register для перенаправления методов CLR
  • Улучшения ClassBind

v0.5.6 (19 октября 2020)

  • Меньше GC при наследовании MonoBehaviour в решении для горячего обновления
  • Помощник Value Type Binder Register позволяет регистрировать связыватели типов значений, что обычно снижает GC для типов значений (например, Vector3/2)
  • Улучшения ClassBind, повышающие производительность
  • ClassBind теперь поддерживает свойства, позволяя устанавливать свойства так же, как и поля
  • Улучшения локализации, повышающие производительность Как мы знаем, Task.Run в Unity будет работать в новом потоке, который не может вызывать большинство API-интерфейсов Unity. Теперь JAction нашёл решение с использованием Loom.

Улучшение производительности режима разработки

v0.4.0 (16 августа 2020 года)

  • JEngine Framework разделён на следующие части:
    • JEngine:

      Вы можете включить это в свои сценарии горячего обновления или основной проект Unity.

      • Core
      • UI
      • LifeCycle
    • UnityPlugins:

      Вы можете импортировать их в Unity.

      • JEngine.Unity (обязательно для нового проекта)
      • JEngine.JSON (необязательно)
      • JEngine.Redis (необязательно)
  • Исправлены небольшие ошибки.
  • ILRuntime вернулся к решению Unity.

v0.3.6.5 (9 августа 2020 года)

  • JResource поддерживает шаблон соответствия, что предотвращает загрузку разных ресурсов с одинаковыми именами.
public enum MatchMode
{
AutoMatch = 1,
Animation = 2,
Material = 3,
Prefab = 4,
Scene = 5,
ScriptableObject = 6,
TextAsset = 7,
UI = 8,
Other = 9
}

v0.3.6.4 (8 августа 2020 года):

  • Улучшен JAciton.
  • Улучшен JBehaviour.
  • Появился JResource:
    • JResource основан на XAsset и позволяет загружать активы из ресурсов горячего обновления через синхронные/асинхронные методы.
var txt = JResource.LoadRes<TextAsset>("Text.txt");
Log.Print("Get Resource with Sync method: " + txt.text);

v0.3.6.3 (6 августа 2020 года):

  • JAction поддерживает обратный вызов отмены.
//Отменить JAction
JAction j8 = new JAction();
j8.RepeatWhen(() => Log.Print("[j8] I am repeating!!!"), () => true, 1, timeout)
.ExecuteAsyncParallel();
//Можно добавить обратный вызов отмены
j8.OnCancel(() => Log.Print("[j8] has been cancelled!"));
  • JAction поддерживает сброс.
//Сбросить JAction
j8.Reset();

Исправлена ошибка в JAction.ExecuteAsyncParallel.

v0.3.6.2 (5 августа 2020 года):

  • JAction поддерживает асинхронность и асинхронный параллелизм.
//Выполнить асинхронно
JAction j6 = new JAction();
_ = j6.Do(() => Log.Print("[j6] This is an async JAction"))
.ExecuteAsync();

//Выполнить параллельно
JAction j7 = new JAction();
j7.Do(()=>Log.Print("[j7] This is an async JAction but runs parallel, callback will be called after it has done"))
.ExecuteAsyncParallel(()=>Log.Print("[j7] Done"));
  • JAction поддерживает отмену.
//Отменить JAction
JAction j8 = new JAction();   
_ = j8.RepeatWhen(() => Log.Print("[j8] I am repeating!!!"), () => true, repeatDuration, timeout)
.ExecuteAsync();
JAction j9 = new JAction();
j9.Delay(5)
.Do(() =>
{
j8.Cancel();
Log.Print("[j9] cancelled j8");
})
.Execute();

v0.3.6.1 (3 августа 2020 года):

  • У JAction появилось больше возможностей:
    • повторение с частотой;
int repeatCounts = 3;
float repeatDuration = 0.5f;
JAction j = new JAction();
j.Repeat(() =>
           {
             Log.Print("I have repeated");
           }, repeatCounts, repeatDuration)
      .Excute();
* повторение при условии;
int num = 10;
float repeatDuration = 0.5f;
float timeout = 10f;
JAction j = new JAction();
j.RepeatWhen(() =>
                 {
                   Log.Print($"num is more than 0, num--");
                   num--;
                 },
                 () => num > 0, repeatDuration, timeout)
      .Excute();
* повторение до тех пор, пока;
int num = 10;
float repeatDuration = 0.5f;
float timeout = 10f;
JAction j = new JAction();
j.RepeatUntil(() =>
                 {
                   Log.Print($"num is more than 0, num--");
                   num--;
                 },
                 () => num <= 0, repeatDuration, timeout)
      .Excute();
* ожидание до;
JAction j = new JAction();
j.Until(()=> something is done)
  .Do(something)
  .Excute();
``` **v0.1 (14 июля 2020)**

Автоматическое создание **обновлений ресурсов**.

Автоматическая обработка **DLL с горячими обновлениями**.

Обновление кодов и ресурсов **горячих обновлений** с сервера (на основе XAsset и ILRuntime).

Поддержка разработки локальных кодов горячих обновлений в редакторе Unity через DLL в папке Assets/HotUpdateResources/Dll/HotUpdateScripts.dll.

**v0.2 (16 июля 2020)**

Поддержка режима разработки, который загружает DLL и ресурсы из локальной папки.

Автоматическое удаление ненужных DLL, PDB и т. д. в каталоге ресурсов DLL.

Автоматический перевод DLL в байты в редакторе.

**v0.3 (17 июля 2020)**

Обновление ILRuntime до версии 1.6.3, которая исправляет множество ошибок в зависимостях.

Включение жизненного цикла JEngine, который является только прототипом и будет расширен в будущем с добавлением базовых кодов.

Появление JUIBehaviour  поведения, основанного на MonoBehaviour, но более удобного для управления жизненными циклами компонентов пользовательского интерфейса, которые не нужно часто менять, и которое работает лучше. Можно использовать меньше кода для реализации большего функционала.

**v0.3.1 (18 июля 2020)**

Объединение Unity-GUI-Redis, который также является частью JEngine, теперь принадлежит пространству имён JEngine.Redis.

Обновление зависимости XAsset до последней версии:
* поддержка сетевого монитора;
* создание пакетов с именем по хешу;
* небольшое улучшение фреймворка.

Переписывание ILRuntime:
* поддержка метода OnDestroy, вызываемого MonoBehaviour;
* небольшое улучшение фреймворка.

Начало работы над JUI:
* пока поддерживается только текст;
* основан на JUIBehaviour;
* метод-цепочка делает код более упорядоченным и красивым;
* уникальный и управляемый жизненный цикл;
* улучшение JUIBehaviour.

**v0.3.2 (19 июля 2020)**

JUIText становится JUI. Поддерживает использование любого класса, основанного на UIBehaviour, включая все компоненты UGUI в Unity.

JUI поддерживает привязку данных и режим сообщений, который вызывается при изменении связанных данных.

Добавление BindableProperty для использования в классах или структурах данных.

Улучшение производительности циклов в JUIBehaviour и производительности получения общих компонентов в JUI.

Обновление демонстраций до обратного отсчёта и демонстрации обновления данных и привязки.

**v0.3.3 (24 июля 2020)**

Шифрование Hot Update DLL на основе AES с 16-битным ключом, что усложняет взлом вашей DLL другими пользователями.

Дополнительная поддержка регистраций ILRuntime, уменьшающая требования к регистрации при использовании ILRuntime.

Обновление XAsset и ILRuntime до последних версий.

**v0.3.4 (25 июля 2020)**

Пример JBehaviour.

Изменение структуры JBehaviour.

Улучшение JUI.

Исправление проблемы, когда JBehaviour нельзя было вызвать.

**v0.3.5 (29 июля 2020)**

Переписывание исходного кода JBehaviour для улучшения производительности.

Решение JObjectPool для пула объектов.

Улучшение JBehaviour с поддержкой изменения методов в некоторых частях.

Улучшение JUI.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/JasonXuDeveloper-JEngine.git
git@api.gitlife.ru:oschina-mirror/JasonXuDeveloper-JEngine.git
oschina-mirror
JasonXuDeveloper-JEngine
JasonXuDeveloper-JEngine
master