项目作者: EveryGameSPlay

项目描述 :
Библиотека классов, которую я дополняю новым функционалом, по мере решения разного рода задач.
高级语言: C#
项目地址: git://github.com/EveryGameSPlay/Package-Unity.git
创建时间: 2020-12-05T20:47:53Z
项目社区:https://github.com/EveryGameSPlay/Package-Unity

开源协议:Other

下载


Package-Unity

Полезные инструменты для ускорения разработки игр.

Ключевые особенности:

  • Управление сценами - GameSceneManager! Передача сообщений/параметров между сценами без использования игровых объектов. Запросы декарируемые, поэтому вы можете совершать дополнительные действия после загрузки сцен, к примеру подгрузка вспомогательных сцен (теперь не нужно в каждой сцене хранить лишние обработчики).
  • Система управления файлами данных - Storage.
  • Система запросов пути - Pathfinding -, которая помогает ограничить обязанности компонентов игры. Реализована в двух вариантах FullAbstraction и NonAlloc. Реализация поиска пути по linked-jagged-array.
  • Унификация физики - Physics. Теперь сущности, которые взаимодействуют с физикой могут просто реализовать интерфейс IPhysicsEntity, который предоставляет дополнительные данные о физическом воздействиия. Сила представлена структурой Force. Также реализованы собственные триггеры, которые могут быть дополнены любым функционалом и не нуждаются в наличии на объекте коллайдеров.
  • Пуллинг объектов, без необъодимости наличия GameObject’ов - Pooling.
  • Реализация объектов Singleton, которые могут быть настроены с помощью аттрибутов. Синглтоны можно ожидать, используя механизм WeakEvents, который встроен в их функционал. Также эти объекты можно вручную создавать и уничтожать.
  • Абстракция для визуальных элементов - Visuals. Имеется поддержка контекста объектов, реализуемая через View.
  • Контекст объектов - Context. С его помощью можно сгруппировать объекты в один контекст, внутри которого они могут общаться между собой! (В основном использую при создании UI).
  • EventBus, WeakEvent, Callback, Promise
  • Тип Option из языка F#, используемый в большинтсве новых компонентов пакета. https://github.com/EveryGameSPlay/Package-Unity/blob/main/Objects/Structs/Option.cs
  • Утилиты для генерации мешей и взаимодействия с материалами.
  • Расширения для различных объектов по типу bool, float, list, linkedlist и т.д..