Перейти к основному содержимому

GameObject Binders

Биндеры для управления свойствами GameObject.


GameObjectVisibleBinder

Привязка видимости через GameObject.SetActive(bool).

ИнтерфейсОписание
IBinder<bool>Устанавливает активность объекта
IReverseBinder<bool>Отправляет текущее состояние (OneWayToSource)

Inspector-свойства

СвойствоОписание
_converterОпциональный конвертер значения (например, BoolInvertConverter)

Режимы: OneWay, OneTime, OneWayToSource (TwoWay запрещён).

[ViewModel]
public partial class PanelViewModel
{
[OneWayBind] private bool _isVisible;
}

Пример с инверсией

Если нужно скрыть объект когда значение true:

[ViewModel]
public partial class LoadingViewModel
{
[OneWayBind] private bool _isLoading;
// BoolInvertConverter → GameObject скрыт при isLoading=true
}

GameObjectTagBinder

Привязка тега GameObject.tag.

ИнтерфейсОписание
IBinder<string>Устанавливает тег
IReverseBinder<string>Отправляет текущий тег (OneWayToSource)

Inspector-свойства

СвойствоОписание
ConverterIConverter<string?, string?> (опционально)

Режимы: OneWay, OneTime, OneWayToSource (TwoWay запрещён).


GameObjectTagSwitcherBinder

bool → выбор между двумя тегами.

Режимы: OneWay, OneTime.


GameObjectVisibleByBindMonoBinder

MonoBinder-обёртка для GameObjectVisibleBinder. Позволяет привязать видимость целевого GameObject через Inspector.

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


Пример: показ/скрытие панелей

[ViewModel]
public partial class UIViewModel
{
[OneWayBind] private bool _showInventory;
[OneWayBind] private bool _showMap;
[OneWayBind] private bool _showSettings;
}

В View привяжите каждый GameObjectVisibleBinder к соответствующей панели. Панели будут автоматически показываться/скрываться при изменении свойств ViewModel.


См. также