跳转到内容

SusHudTurnActions ​

SusHudTurnActions

回合外框列——Wait / End Turn 按钮,外加作为长按按钮的 Confirm。

包

SusGame · HUD(商业)

在 Playground 中打开

SusGame · HUD

属性

名称类型默认值
WaitLabelProp<string>"Wait"
EndTurnLabelProp<string>"End Turn"
ConfirmLabelProp<string>"Confirm"
ConfirmEnabledProp<bool>true
WaitVisibleProp<bool>true
EndTurnVisibleProp<bool>true
ConfirmVisibleProp<bool>true

插槽

没有插槽。

事件

名称字段载荷
WaitOnWait—
EndTurnOnEndTurn—
ConfirmHoldOnConfirmHold—

样式钩子 ​

USS 类契约 — 无需改 C# 即可覆盖外观。状态通过这些类切换:

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

用法 ​

绑定按钮文本 / 可见性,或用 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 / APIRole
WaitLabel · EndTurnLabel · ConfirmLabel按钮文本(默认 Wait / End Turn / Confirm)
ConfirmEnabled为 false 时禁用 Confirm 长按
WaitVisible · EndTurnVisible · ConfirmVisible显示 / 隐藏各控件
ApplyData(SusHudTurnActionsData)批量设置文本与标志位
OnWait · OnEndTurn · OnConfirmHold点击 / 长按完成

备注 ​

  • Confirm 使用 kit 的 SusHoldButton(ProgressMode=strip,HoldDurationMs=700)。
  • Wait / End Turn 使用 kit 的 SusButton(outlined secondary / elevated primary,Size=small)。
  • 当外框每个阶段都会变化时,优先从 Assembler / 战术宿主调用 ApplyData。

本地化字符串 ​

WaitLabel / EndTurnLabel / ConfirmLabel(默认 "Wait"、"End Turn"、"Confirm",SusHudTurnActionsData 中相同)经由 SusGame String Table 解析;你自行设置的值优先。参见本地化字符串。