К содержимому

SusSearchRadar ​

SusSearchRadar

Радар поиска соперника — анимированная развёртка во время поиска, вспышка при найденном матче, затем устойчивое состояние с меткой статуса и таймером.

Пакет

SusGame · Экраны (коммерческий)

Открыть в песочнице

SusGame · Screens

Свойства

ИмяТипПо умолчанию
StateProp<string>"searching"
LabelProp<string>DefaultLabel
SettleDelayMsProp<int>1500
TimerTickMsProp<int>1000

Слоты

Слотов нет.

События

ИмяПолеPayload
SettledOnSettled—

Хуки стиля ​

Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:

  • sus-search-radar
  • sus-search-radar__axis
  • sus-search-radar__axis--h
  • sus-search-radar__axis--v
  • sus-search-radar__dot
  • sus-search-radar__flash
  • sus-search-radar__label
  • sus-search-radar__label--empty
  • sus-search-radar__ring
  • sus-search-radar__sweep
  • sus-search-radar__timer
  • sus-search-radar--found
  • sus-search-radar--searching
  • sus-search-radar--settled

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

xml
<sus:SusSearchRadar />
csharp
var radar = new SusSearchRadar();
radar.Label.Value = "Searching for opponent...";
radar.OnSettled += () => { /* start the match */ };
radar.StartSearch();
// later, when the matchmaker answers:
radar.Found();
Prop / APIРоль
State"searching" (развёртка вращается, таймер прошедшего времени идёт), "found" (точка и вспышка, таймер заморожен), "settled" (матч зафиксирован). Управляет sus-search-radar--searching / --found / --settled
LabelПодпись статуса под радаром; текст для каждого состояния задаёт вызывающий код. По умолчанию "Searching for opponent..." (переводится через SusGameText). Пустая строка скрывает узел подписи (sus-search-radar__label--empty)
SettleDelayMsЗадержка от Found() до автоматического шага found → settled. По умолчанию 1500
StartSearch()(Пере)запускает поиск из любого состояния: таймер в 0, развёртка возобновляется
Found()Соперник найден; вне searching ничего не делает
OnSettledСрабатывает один раз, когда шаг found → settled завершён

Reduce motion ​

Пока включён SusMotion.Reduce, развёртка стоит на месте; таймер прошедшего времени продолжает идти.