Представляю Вам свою реализацию классов для lua. Классы создаются статически. На данный момент позволяет использовать области видимости static, public и override (private существует отдельно от наработки). Реализовано наследование. Основной задачей было организовать однородную структуру кода вне зависимости от выполняемой задачи и совместимость с EmmyLua (VsCode Lua от sumneko). Буду рад объективной критике.
Сегодня темных троллей осталось так мало, что их существование считается сомнительным... Герой создан в рамках Конкурса героев.
Наработка превращает нажатия клавиш W, A, S, D, Ctrl, Space в нормированный Vector3, который можно сразу применять к юниту.
- Нормализация позволяет обезопасить управление от всех этих страйфов и распрыжек, равномерно направляя юнита в любую из комбинаций сторон.
- Для удобства использует eventDispatcher, тем самым подключаться к ней можно буквально в GUI.
- Сама регистрирует на всех игроков-людей.
- Можно задавать свой набор клавиш.
Демо видео внутри.
Библиотека геометрии, реализованная на Lua в ООП формате.
Из вкусного:
- Functions - вспомогательные функции типа обрезки и вычисления разного вида интерполяций
- Vector3 - класс 3D вектора с перегруженными мат. операторами, поддержкой 3D конверсии из игровых структур и обратно, интерполяциями, применениями сферических оффсетов, проверок нахождения в сфере и ящике, трансформаций матриц и другое
- Matrix3 - класс 3x3 матрицы с множеством разных конструкторов типа осей вращения и оператором перемножения
- Matrix4 - класс 4x4 матрицы, он самый простой - с операторами сравнения и перемножения
- Box - класс для работы с кубоидами, содержащий методы получения объёма, расширения, включения, пересечения с другими фигурами и др.
- Sphere - класс для работы со сферами, содержащий методы получения объёма, включения, пересечения с другими фигурами и др.
- Ray - класс для работы с лучами и получение точек пересечения с объектами
- Camera - класс для хранения данных о камере и возможностью конвертировать оконные координаты и координаты сцены между собой
Показывает текущее потребление памяти lua и позволяет вызывать collectgarbage из чата.
Наработка, позволяющая изменять бонусные характеристики юнита в диапазоне +-4096. По сути является BonusMod переписанной на lua.
Рекомендуется использовать доработанную версию.
Наработка, позволяющая проверять проходимость точки используя скрытый предмет. По сути является TerrainPathability переписанной на lua.
Длань Господня, способность, которую могли освоить лишь Истинные Паладины. В их руках, эта сила не только излечивала любые раны и болезни. Но и искореняла любое зло, ставшее на пути Паладина.
Божественная вспышка, не знающая пощады для врагов, и дарующая Благодать союзникам.
И самое главное теперь, Паладин может восстановить себе утерянную жизнь, в ровном размере излеченного здоровья или нанесенного урона.
`
ОЖИДАНИЕ РЕКЛАМЫ...