🖥️
Global Tech
  • Основное
    • 📦StarterPack
      • 🔑Модули
        • Input module
        • Система ивентов
        • Стартовый экран и управление
        • Монеты
        • Прокачка
        • Уровни и конец уровня
        • GUIManager
        • GUIConveyor
        • UI pack
        • AI
        • Локализация
        • MatEditor(Покраска)
        • Ники
        • RaycastAimInput и ViewPortDragInput
      • 🛠️Утилиты
        • Installers
        • PrefsValue
        • ValueObservable
        • CameraController
        • CharacterMotor
        • Trajectory
        • RotateObject
        • ScreenResolution
        • Extensions
        • RagdollHelper
        • ModelRenderManager
        • CMath
        • LauncherManager
        • FpsController
      • Примечания
    • ⚒️Сторонние ассеты
      • Odin Inspector and Serializer
        • ✏️Inspector
          • Meta Attributes
          • Button
          • Attribute Expressions
          • Enum
          • PreviewField
          • Required
          • GUIColor
          • Inline Editor
        • 💽Serializer
          • Static Serialization
          • Debug Serialization
    • 🧱TTM Pack
      • 🛍️Shop
      • ⭐RateUs
      • 📨Notifications
      • Upgrades Manager
      • 🔋Accumulation Bonus
      • Lottery module
    • 📚Гайды
      • Гайд по старту проекта
      • Гайд по UI
      • DOTween
      • LINQ
      • Делегаты, лямбды в C# и UniRx
      • Принципы SOLID
      • Как занести sdk в loadscreen
      • Гайд по Line counter.
      • Гайд по билду через android studio
      • Гайд по решению конфликтов.
      • Гайд по установке Unity YAML mergetool
    • 📒Code Style
      • Конвенция имён
      • Объявления / Декларации
      • Конвенция строчных отступов
      • Стиль скобок
      • Get, Set и Try в нейминге методов
      • Поля
      • Другие стандарты
      • Настройка code style в IDE
  • Ознакомиться
    • 🎓Постулаты программиста
    • 📈Этапы разработки
      • Prototype
      • Production
      • To The Moon - Soft launch
      • Refactor
    • 🏗️Архитектура кода
      • Основной подход к архитектуре
      • Событийная архитектура кода
      • Singleton
      • Абстрактные классы
    • ✏️Написание кода
      • Правила хорошего тона
      • PrefsValue вместо PlayerPrefs
      • UniRx вместо кoрутинов и инвоков
      • Детекция нажатий
      • Руководство по оптимизации кода
    • ⚙️Работа с движком
      • Сцена
      • Файлы
      • Префабы
      • UI
      • Animator
      • Работа с физикой
      • Работа с префабами
    • 💼Рабочий график
    • 👨‍💼Овнеры проектов
  • Дополнительно
    • 🚄Механики, ускоряющие решение задачи
  • ❓Tech FAQ
    • Взаимодействие с артом по встраиванию моделей
    • Слетающие ссылки и перезагрузка сцены
    • Обновление gradle, если не получается сбилдить (among-us only)
    • Обновление gitignore
    • Unity plus для релизных билдов
    • Гайд по sdk-pack
    • Наш git-flow
    • Как сбилдить под IOS?
    • Как установить gitbackup тулзу
    • Как установить Unity YAML mergetool (или как мержить сцены с префабами)
    • Как билдить apk или aab among-us прямо в unity
    • 🔑Как получить хэши для FB SDK
Powered by GitBook
On this page
  1. Основное
  2. Сторонние ассеты
  3. Odin Inspector and Serializer
  4. Inspector

Attribute Expressions

https://odininspector.com/tutorials/using-attributes/attribute-expressions

PreviousButtonNextEnum

Last updated 2 years ago

Многие атрибуты позволяют передавать строковые параметры, которые могут ссылаться на элементы или содержать выражения C#, подлежащие вычислению. Это может быть чрезвычайно полезно, поскольку позволяет быстро и легко вводить базовую логику в ваш инспектор. Выражения атрибутов обозначаются строкой, начинающейся с символа @.

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

Следующее объявление атрибута является одним из простейших возможных вариантов использования выражений атрибутов и приведет к появлению информационного окна, в котором отображается неизмененное содержимое поля myStr:

[InfoBox("@myStr")]
public string myStr;
[InfoBox(@"@""The current time is: "" + DateTime.Now.ToString(""HH:mm:ss"")")]
public string myStr;
[ShowIf("@this.someNumber >= 0f && this.someNumber <= 10f")]
public string myStr;

public float someNumber;
⚒️
✏️