using BetterAmongUs.Helpers; using BetterAmongUs.Items.Attributes; using System.Text; namespace BetterAmongUs.Commands; [RegisterCommand] internal class PlayerInfoCommand : BaseCommand { internal override string Name => "player"; internal override string Description => "Get a Players information"; public PlayerInfoCommand() { _arguments = new Lazy(() => new BaseArgument[] { new PlayerArgument(this), }); } private readonly Lazy _arguments; internal override BaseArgument[]? Arguments => _arguments.Value; private PlayerArgument? playerArgument => (PlayerArgument)Arguments[0]; internal override void Run() { var player = playerArgument.TryGetTarget(); if (player != null) { StringBuilder sb = new(); var hexColor = Utils.Color32ToHex(Palette.PlayerColors[player.CurrentOutfit.ColorId]); var format1 = "┌ •"; var format2 = "├ •"; var format3 = "└ •"; sb.Append($"{player?.Data?.PlayerName} Info:\n"); sb.Append($"{format1} ID: {player?.Data?.PlayerId}\n"); sb.Append($"{format2} HashPUID: {Utils.GetHashStr($"{player?.Data?.Puid}")}\n"); sb.Append($"{format2} Platform: {Utils.GetPlatformName(player)}\n"); sb.Append($"{format3} FriendCode: {player?.Data?.FriendCode}"); CommandResultText(sb.ToString()); } } }