player.Antag ? "YES" : "NO",
new StyleBoxFlat(useAltColor ? _altColor : _defaultColor),
player.Connected,
- player.PlaytimeString());
+ player.PlaytimeString);
entry.PlayerEntity = player.NetEntity;
entry.OnPressed += args => OnEntryPressed?.Invoke(args);
entry.ToolTip = Loc.GetString("player-tab-entry-tooltip");
Header.Character => Compare(x.CharacterName, y.CharacterName),
Header.Job => Compare(x.StartingJob, y.StartingJob),
Header.Antagonist => x.Antag.CompareTo(y.Antag),
+ Header.Playtime => Compare(x.PlaytimeString, y.PlaytimeString),
_ => 1
};
}
CharacterLabel.OnKeyBindDown += CharacterClicked;
JobLabel.OnKeyBindDown += JobClicked;
AntagonistLabel.OnKeyBindDown += AntagonistClicked;
+ PlaytimeLabel.OnKeyBindDown += PlaytimeClicked;
}
public Label GetHeader(Header header)
Header.Character => CharacterLabel,
Header.Job => JobLabel,
Header.Antagonist => AntagonistLabel,
+ Header.Playtime => PlaytimeLabel,
_ => throw new ArgumentOutOfRangeException(nameof(header), header, null)
};
}
CharacterLabel.Text = Loc.GetString("player-tab-character");
JobLabel.Text = Loc.GetString("player-tab-job");
AntagonistLabel.Text = Loc.GetString("player-tab-antagonist");
+ PlaytimeLabel.Text = Loc.GetString("player-tab-playtime");
}
private void HeaderClicked(GUIBoundKeyEventArgs args, Header header)
HeaderClicked(args, Header.Antagonist);
}
+ private void PlaytimeClicked(GUIBoundKeyEventArgs args)
+ {
+ HeaderClicked(args, Header.Playtime);
+ }
+
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (disposing)
{
- UsernameLabel.OnKeyBindDown += UsernameClicked;
- CharacterLabel.OnKeyBindDown += CharacterClicked;
- JobLabel.OnKeyBindDown += JobClicked;
- AntagonistLabel.OnKeyBindDown += AntagonistClicked;
+ UsernameLabel.OnKeyBindDown -= UsernameClicked;
+ CharacterLabel.OnKeyBindDown -= CharacterClicked;
+ JobLabel.OnKeyBindDown -= JobClicked;
+ AntagonistLabel.OnKeyBindDown -= AntagonistClicked;
+ PlaytimeLabel.OnKeyBindDown -= PlaytimeClicked;
}
}
Username,
Character,
Job,
- Antagonist
+ Antagonist,
+ Playtime
}
}
bool ActiveThisRound,
TimeSpan? OverallPlaytime)
{
- public string PlaytimeString()
- {
- return OverallPlaytime?.ToString("%d':'hh':'mm") ?? Loc.GetString("generic-unknown-title");
- }
+ private string? _playtimeString;
+
+ public string PlaytimeString => _playtimeString ??=
+ OverallPlaytime?.ToString("%d':'hh':'mm") ?? Loc.GetString("generic-unknown-title");
}
}
- {message: 'Add pop sound effect when using the erase admin verb.', type: Tweak}
id: 5
time: '2023-10-14T09:47:00.0000000+00:00'
+- author: DrSmugleaf
+ changes:
+ - {message: 'Fixed not being able to sort the F7 players tab by playtime.', type: Fix}
+ id: 6
+ time: '2023-10-14T23:52:00.0000000+00:00'