Unity — автогенерация Enum

Unity — автогенерация Enum

@nrjwolf

Навигация

Уроки, трюки по Unity

  1. Динамический инспектор
  2. AssetBundles, подгрузка контента
  3. Unity, разрабатываем свой компонент
  4. Unity — Динамическое освещение в 2D
  5. Unity и телеграм
  6. Unity — автогенерация Enum

Стартуем

Результат

Итак, сначала я хочу сказать зачем это может быть нужно. К примеру : нужно заполнять массив звуков из инспектора, но вызывать сами звуки мне бы хотелось примерно так AudioManager.Play(Sounds.Bomb) — выходит, что я должен заполнить массив, а затем еще заполнить enum, хорошо если только один раз, но обычно так не бывает.

Unity сам по себе тесно связан с инспектором, как бы вам не хотелось все писать в коде, best practices показывает, что лучше вам учиться дружить с этой взаимосвязью. Поэтому улучшать рабочую среду в инспекторе так же важно, как и писать игру.

Использование

Погуглив, я написал небольшой класс для себя :

CreateEnum.cs

Вызываем CreateEnumsInFile и передаем туда путь до класса, в котором будут только созданные enum'ы, а также список имен и имя самого enum.

После правильного вызова, результат будет примерно таким :

Enums.cs

Важно : в моем DemoScript есть публичные переменные двух Enum, чтобы не возникало ошибки, класс с ними я заполнил сразу — по сути это вся подготовка.

DemoScript.cs

Безусловно, это не библиотека, а всего лишь демонстрация такой возможности, используя такой метод, можно написать свои blueprints.

Исходник тут

Если вам понравился урок, вы можете поддержать меня рублем через написанного нами донат бота, а также подписавшись на мой канал. Любое из этих действий ускорит выход новых уроков и поднимет мне настроение :)
@nrjwolf

Report Page