reckfellENGINE

ColorPickerButton

Кнопка цвета с лениво создаваемой встроенной палитрой и отдельными сигналами редактирования.

На этой странице
class ColorPickerButtonReckfellSharpНаследует Button

Задайте Color и подключите ColorChanged, чтобы применять пользовательские изменения к модели. Программное присваивание Color обновляет кнопку и уже созданную палитру, но ColorChanged не испускает. Если одно действие должно работать и из UI, и из кода, вынесите обновление модели в общий метод и вызывайте его явно.

GetPicker и GetPopup при первом вызове создают внутренние объекты, но не открывают окно. PickerCreated испускается один раз после применения текущих Color, EditAlpha и EditIntensity. Подпишитесь до первого getter, если хотите настроить палитру именно при создании. В обработчике уже можно вызвать GetPicker.

Возвращаемые ColorPicker и PopupPanel принадлежат кнопке: popup — её внутренний ребёнок, picker — ребёнок popup. Не освобождайте и не переносите их отдельно; освобождение кнопки освобождает обоих. Для внешнего окна с независимым временем жизни создайте собственный ColorPicker.

Цвет меняйте через кнопку. Прямое присваивание GetPicker().Color само не обновляет Color кнопки и не вызывает её ColorChanged. Повторное присваивание прежнего Color кнопке также не синхронизирует вручную изменённую палитру: setter пропускает равное значение. Настройки вида палитры меняйте через GetPicker, а значение цвета — через Color кнопки.

EditAlpha и EditIntensity управляют доступностью соответствующих элементов редактирования, а не очисткой данных. Отключение alpha не делает цвет непрозрачным; отключение intensity не ограничивает сохранённые RGB диапазоном 0…1. Значение HDR не включает свечение или тональную компрессию сцены: это отдельные настройки рендеринга.

PopupClosed сообщает о закрытии, без результата «ОК/Отмена». Не считайте его подтверждением применения цвета. Для отменяемого редактирования храните исходное значение в своей модели и явно задайте правила применения/отката. ColorChanged также может прийти при восстановлении цвета через отмену; это уведомление о значении, а не только о новом выборе.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

ColorPickerButtonКонструктор
# ColorPickerButton
C#
public ColorPickerButton();

Создаёт кнопку с чёрным цветом (alpha = 1), EditAlpha/EditIntensity = true и включённым ToggleMode. Встроенные popup и picker ещё не создаются.

Свойства3

ColorСвойство
# Color
C#
public Color Color { get; set; }

Текущий цвет, включая alpha и значения RGB выше 1. Присваивание синхронизирует существующую палитру без ColorChanged. Равное значение пропускается.

EditAlphaСвойство
# EditAlpha
C#
public bool EditAlpha { get; set; }

Показывать редактирование alpha, true по умолчанию. false сохраняет alpha текущего цвета; это не принудительная непрозрачность. Передаётся существующей и будущей палитре.

EditIntensityСвойство
# EditIntensity
C#
public bool EditIntensity { get; set; }

Показывать редактирование интенсивности, true по умолчанию. false не ограничивает сохранённые HDR-компоненты и не выключает эффекты сцены. Передаётся встроенной палитре.

Методы8

GetPickColorColor
# GetPickColor
C#
public Color GetPickColor();

Текущий цвет, включая alpha и значения RGB выше 1. Присваивание синхронизирует существующую палитру без ColorChanged. Равное значение пропускается.

Возвращает Color

Текущий цвет, включая alpha и значения RGB выше 1. Присваивание синхронизирует существующую палитру без ColorChanged. Равное значение пропускается.

GetPickerColorPicker
# GetPicker
C#
public ColorPicker GetPicker();

Возвращает принадлежащую кнопке палитру ColorPicker, создавая её при первом вызове. Не открывает окно. Результат не освобождайте и не переносите; значение меняйте через Color кнопки.

Возвращает ColorPicker

Возвращает принадлежащую кнопке палитру ColorPicker, создавая её при первом вызове. Не открывает окно. Результат не освобождайте и не переносите; значение меняйте через Color кнопки.

GetPopupPopupPanel
# GetPopup
C#
public PopupPanel GetPopup();

Возвращает принадлежащий кнопке PopupPanel; при первом вызове также создаётся picker. Не открывает окно. Результат не освобождайте и не переносите отдельно.

Возвращает PopupPanel

Возвращает принадлежащий кнопке PopupPanel; при первом вызове также создаётся picker. Не открывает окно. Результат не освобождайте и не переносите отдельно.

IsEditingAlphabool
# IsEditingAlpha
C#
public bool IsEditingAlpha();

Показывать редактирование alpha, true по умолчанию. false сохраняет alpha текущего цвета; это не принудительная непрозрачность. Передаётся существующей и будущей палитре.

Возвращает bool

Показывать редактирование alpha, true по умолчанию. false сохраняет alpha текущего цвета; это не принудительная непрозрачность. Передаётся существующей и будущей палитре.

IsEditingIntensitybool
# IsEditingIntensity
C#
public bool IsEditingIntensity();

Показывать редактирование интенсивности, true по умолчанию. false не ограничивает сохранённые HDR-компоненты и не выключает эффекты сцены. Передаётся встроенной палитре.

Возвращает bool

Показывать редактирование интенсивности, true по умолчанию. false не ограничивает сохранённые HDR-компоненты и не выключает эффекты сцены. Передаётся встроенной палитре.

SetEditAlphavoid
# SetEditAlpha
C#
public void SetEditAlpha(bool show);

Показывать редактирование alpha, true по умолчанию. false сохраняет alpha текущего цвета; это не принудительная непрозрачность. Передаётся существующей и будущей палитре.

Параметры
ИмяТипПо умолчанию
showbool—
show

Показывать соответствующий элемент редактирования, не изменяя сохранённые компоненты цвета.

SetEditIntensityvoid
# SetEditIntensity
C#
public void SetEditIntensity(bool show);

Показывать редактирование интенсивности, true по умолчанию. false не ограничивает сохранённые HDR-компоненты и не выключает эффекты сцены. Передаётся встроенной палитре.

Параметры
ИмяТипПо умолчанию
showbool—
show

Показывать соответствующий элемент редактирования, не изменяя сохранённые компоненты цвета.

SetPickColorvoid
# SetPickColor
C#
public void SetPickColor(Color color);

Текущий цвет, включая alpha и значения RGB выше 1. Присваивание синхронизирует существующую палитру без ColorChanged. Равное значение пропускается.

Параметры
ИмяТипПо умолчанию
colorColor—
color

Новое значение Color с alpha; RGB может быть выше 1.

Сигналы и события3

ColorChangedСобытие
# ColorChanged
C#
public event ColorPickerButton.ColorChangedEventHandler ColorChanged;

Изменение значения из встроенной палитры, в том числе восстановление при отмене. Color кнопки обновлён до вызова обработчика. Программный setter Color сам сигнал не испускает.

Параметры обработчика
ИмяТипПо умолчанию
colorColor—
color

Новое значение Color с alpha; RGB может быть выше 1.

PickerCreatedСобытие
# PickerCreated
C#
public event Action PickerCreated;

Однократное создание внутренних popup и picker после применения исходных настроек. Может произойти из GetPicker/GetPopup ещё до открытия окна; подпишитесь заранее.

PopupClosedСобытие
# PopupClosed
C#
public event Action PopupClosed;

Встроенное окно закрыто; сигнал без аргумента результата. Не означает подтверждение цвета, не заменяет ColorChanged и не испускается повторным Hide уже скрытого окна.

Свойства темы

Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.

Ключ и типОписание
bg
Texture2D

Фон прямоугольника предварительного просмотра цвета на кнопке.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.