SusRewardsScreenContent

Награды после матча — title/subtitle, scrollable reward rows (SetRewards), переключение Claim → Continue через Claimed.
Пакет
SusGame · Экраны (коммерческий)
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Title | Prop<string> | "Rewards" | |
Subtitle | Prop<string> | "" | |
Claimed | Prop<bool> | false | |
ClaimLabel | Prop<string> | "Claim all" | |
ContinueLabel | Prop<string> | "Continue" |
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
ClaimClicked | OnClaimClicked | — |
ContinueClicked | OnContinueClicked | — |
RewardClicked | OnRewardClicked | string |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-flow-panel--w320sus-flow-panel--w360sus-flow-panel--w380sus-iconsus-rewards-screensus-rewards-screen__iconsus-rewards-screen__itemsus-rewards-screen__item--epicsus-rewards-screen__item--legendarysus-rewards-screen__item--raresus-rewards-screen__listsus-rewards-screen__metasus-rewards-screen__namesus-rewards-screen__panelsus-rewards-screen__sub
Использование
xml
<template>
<sus:SusRewardsScreenContent
:Title="Title.Value"
:Subtitle="Sub.Value"
:Claimed="Done.Value"
:ClaimLabel="Claim.Value"
:ContinueLabel="Cont.Value"
/>
</template>
<script>
public Prop<string> Title = new("Rewards");
public Prop<string> Sub = new("Match complete");
public Prop<bool> Done = new(false);
public Prop<string> Claim = new("Claim all");
public Prop<string> Cont = new("Continue");
</script>csharp
var rewards = new SusRewardsScreenContent();
rewards.Title.Value = "Victory loot";
rewards.Subtitle.Value = "+120 XP";
rewards.SetRewards(new List<SusRewardsScreenContent.RewardItem> {
new() { Id = "gold", Name = "Credits", Quantity = 500, Rarity = "common" },
new() { Id = "skin", Name = "Rare skin", Quantity = 1, Rarity = "rare", Icon = "gift" },
});
rewards.OnClaimClicked += () => { rewards.Claimed.Value = true; };
rewards.OnContinueClicked += () => { /* next screen */ };
rewards.OnRewardClicked += id => { /* inspect */ };| Prop / API | Роль |
|---|---|
Title / Subtitle | Баннер + опциональная подсказка (пустой subtitle → скрыт) |
Claimed | Скрывает Claim, показывает Continue |
ClaimLabel / ContinueLabel | Подписи кнопок |
SetRewards(List<RewardItem>) | Строки: Id/Name/Icon/Quantity/Rarity |
OnClaimClicked / OnContinueClicked | Действия без параметров |
OnRewardClicked | Action<string> id строки |
ClaimBtn / ContinueBtn / RewardsHost | Построенные хосты |
Заметки
- Класс редкости:
sus-rewards-screen__item--{rarity}(commonпо умолчанию; также стилизованыrare/epic/legendary). - Кнопка Claim уже вызывает
OnClaimClickedв конструкторе; аналогично Continue. - Присутствует в пине SusGame — вложенный
RewardItemреальный.