SusProfileScreenContent

Player profile panel — avatar, name/rank chips, wins/matches/K-D, friends list via SetFriends, edit gate.
Package
SusGame · Screens (commercial)
Props
| Name | Type | Default | |
|---|---|---|---|
DisplayName | Prop<string> | "Player" | |
AvatarImage | Prop<string> | "" | |
AvatarStatus | Prop<string> | "" | |
Level | Prop<int> | 1 | |
Xp | Prop<int> | 0 | |
Rank | Prop<string> | "Recruit" | |
Wins | Prop<int> | 0 | |
Matches | Prop<int> | 0 | |
Kd | Prop<float> | 0f | |
CanEdit | Prop<bool> | true |
Slots
No slots.
Events
| Name | Field | Payload |
|---|---|---|
FriendClicked | OnFriendClicked | string |
Style hooks
USS class contract — override appearance without touching C#. States toggle via these classes:
sus-chip__textsus-profile-screensus-profile-screen__friendsus-profile-screen__friend-avsus-profile-screen__friend-namesus-profile-screen__friend-statussus-profile-screen__friendssus-profile-screen__id-colsus-profile-screen__identitysus-profile-screen__namesus-profile-screen__ranksus-profile-screen__rank-rowsus-profile-screen__statsus-profile-screen__statssus-profile-screen__top
Usage
Bind identity/stats props; push friends with SetFriends. Wire BackBtn / EditBtn / OnFriendClicked.
xml
<template>
<sus:SusProfileScreenContent
:DisplayName="Name.Value"
:AvatarImage="AvatarImg.Value"
:AvatarStatus="Status.Value"
:Level="Lvl.Value"
:Rank="Rank.Value"
:Wins="Wins.Value"
:Matches="Matches.Value"
:Kd="Kd.Value"
:CanEdit="Edit.Value"
/>
</template>
<script>
public Prop<string> Name = new("Player");
public Prop<string> AvatarImg = new("");
public Prop<string> Status = new("online");
public Prop<int> Lvl = new(1);
public Prop<string> Rank = new("Recruit");
public Prop<int> Wins = new(0);
public Prop<int> Matches = new(0);
public Prop<float> Kd = new(0f);
public Prop<bool> Edit = new(true);
</script>csharp
var profile = new SusProfileScreenContent();
profile.DisplayName.Value = "Nova";
profile.Level.Value = 12;
profile.Rank.Value = "Veteran";
profile.Wins.Value = 40;
profile.Matches.Value = 55;
profile.Kd.Value = 1.25f;
profile.CanEdit.Value = true;
profile.SetFriends(new List<SusProfileScreenContent.FriendRow> {
new() { Id = "u1", Name = "Ally", Status = "online" },
new() { Id = "u2", Name = "Rival", Status = "offline" },
});
profile.OnFriendClicked += id => { /* open friend */ };
profile.BackBtn.OnClick += () => { /* back */ };
profile.EditBtn.OnClick += () => { /* edit flow */ };| Prop / API | Role |
|---|---|
DisplayName | Name chip + avatar text |
AvatarImage / AvatarStatus | Avatar image URL / status |
Level / Rank | Rank row chips |
Wins / Matches / Kd | Stat chips |
Xp | Declared Prop<int> — not shown in UI in current pin |
CanEdit | Disables EditBtn when false |
SetFriends(List<FriendRow>) | Rebuild friends rows (Id/Name/Status/AvatarIcon) |
OnFriendClicked | Action<string> (id or name) |
BackBtn / EditBtn / FriendsHost | Host wiring |
Notes
- Empty friends shows «No friends yet.» via
EmptyFriends. FriendRow.Statuslowercased into avatar status;onlinealso tints status label.- Present in SusGame pin — types are real (
SusProfileScreenContent/ nestedFriendRow).