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

SusRewardsScreenContent

SusRewardsScreenContent

Награды после матча — title/subtitle, scrollable reward rows (SetRewards), переключение Claim → Continue через Claimed.

Пакет

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

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

SusGame · Screens

Свойства

ИмяТипПо умолчанию
TitleProp<string>"Rewards"
SubtitleProp<string>""
ClaimedProp<bool>false
ClaimLabelProp<string>"Claim all"
ContinueLabelProp<string>"Continue"

Слоты

Слотов нет.

События

ИмяПолеPayload
ClaimClickedOnClaimClicked
ContinueClickedOnContinueClicked
RewardClickedOnRewardClickedstring

Хуки стиля

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

  • sus-flow-panel--w320
  • sus-flow-panel--w360
  • sus-flow-panel--w380
  • sus-icon
  • sus-rewards-screen
  • sus-rewards-screen__icon
  • sus-rewards-screen__item
  • sus-rewards-screen__item--epic
  • sus-rewards-screen__item--legendary
  • sus-rewards-screen__item--rare
  • sus-rewards-screen__list
  • sus-rewards-screen__meta
  • sus-rewards-screen__name
  • sus-rewards-screen__panel
  • sus-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Действия без параметров
OnRewardClickedAction<string> id строки
ClaimBtn / ContinueBtn / RewardsHostПостроенные хосты

Заметки

  • Класс редкости: sus-rewards-screen__item--{rarity} (common по умолчанию; также стилизованы rare/epic/legendary).
  • Кнопка Claim уже вызывает OnClaimClicked в конструкторе; аналогично Continue.
  • Присутствует в пине SusGame — вложенный RewardItem реальный.