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

SusHudTurnActions

SusHudTurnActions

Колонка turn chrome — кнопки Wait / End Turn плюс Confirm как hold-кнопка.

Пакет

SusGame · HUD (коммерческий)

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

SusGame · HUD

Свойства

ИмяТипПо умолчанию
WaitLabelProp<string>"Wait"
EndTurnLabelProp<string>"End Turn"
ConfirmLabelProp<string>"Confirm"
ConfirmEnabledProp<bool>true
WaitVisibleProp<bool>true
EndTurnVisibleProp<bool>true
ConfirmVisibleProp<bool>true

Слоты

Слотов нет.

События

ИмяПолеPayload
WaitOnWait
EndTurnOnEndTurn
ConfirmHoldOnConfirmHold

Хуки стиля

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

  • sus-hold-button
  • sus-hud-turn-actions
  • sus-hud-turn-actions__btn
  • sus-hud-turn-actions__confirm

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

Привязывайте labels / видимость либо отправляйте пакет через ApplyData.

csharp
var actions = new SusHudTurnActions();
actions.WaitLabel.Value = "Wait";
actions.EndTurnLabel.Value = "End Turn";
actions.ConfirmLabel.Value = "Confirm";
actions.ConfirmEnabled.Value = true;
actions.WaitVisible.Value = true;
actions.EndTurnVisible.Value = true;
actions.ConfirmVisible.Value = true;
actions.OnWait += () => { /* skip AP */ };
actions.OnEndTurn += () => { /* commit turn */ };
actions.OnConfirmHold += () => { /* confirm aim / fire */ };

// Or batch:
actions.ApplyData(new SusHudTurnActionsData
{
    ConfirmEnabled = false,
    WaitVisible = false,
});
xml
<template>
  <sus:SusHudTurnActions :WaitLabel="Wait.Value"
                         :EndTurnLabel="End.Value"
                         :ConfirmLabel="Confirm.Value"
                         :ConfirmEnabled="ConfirmOk.Value"
                         :WaitVisible="ShowWait.Value"
                         :EndTurnVisible="ShowEnd.Value"
                         :ConfirmVisible="ShowConfirm.Value"
                         @wait="OnWait"
                         @end-turn="OnEndTurn"
                         @confirm-hold="OnConfirmHold" />
</template>

<script>
public Prop<string> Wait = new("Wait");
public Prop<string> End = new("End Turn");
public Prop<string> Confirm = new("Confirm");
public Prop<bool> ConfirmOk = new(true);
public Prop<bool> ShowWait = new(true);
public Prop<bool> ShowEnd = new(true);
public Prop<bool> ShowConfirm = new(true);
void OnWait() { /* … */ }
void OnEndTurn() { /* … */ }
void OnConfirmHold() { /* … */ }
</script>
Prop / APIРоль
WaitLabel · EndTurnLabel · ConfirmLabelТексты кнопок (по умолчанию Wait / End Turn / Confirm)
ConfirmEnabledОтключает hold Confirm, если false
WaitVisible · EndTurnVisible · ConfirmVisibleПоказывает/скрывает каждый контрол
ApplyData(SusHudTurnActionsData)Пакетно задаёт labels + флаги
OnWait · OnEndTurn · OnConfirmHoldКлик / завершение hold

Заметки

  • Confirm — это kit SusHoldButton (ProgressMode=strip, HoldDurationMs=700).
  • Wait / End Turn — это kit SusButton (outlined secondary / elevated primary, Size=small).
  • Предпочитайте ApplyData из Assembler / tactical host, когда оформление меняется каждую фазу.