using Content.Shared.Administration;
using Content.Shared.GameTicking;
using Content.Shared.Mind;
using Robust.Shared.Network;
namespace Content.Shared.Players;
///
/// Content side for all data that tracks a player session.
/// Use to retrieve this from an .
/// Not currently used on the client.
///
public sealed class ContentPlayerData
{
///
/// The session ID of the player owning this data.
///
[ViewVariables]
public NetUserId UserId { get; }
///
/// This is a backup copy of the player name stored on connection.
/// This is useful in the event the player disconnects.
///
[ViewVariables]
public string Name { get; }
///
/// The currently occupied mind of the player owning this data.
/// DO NOT DIRECTLY SET THIS UNLESS YOU KNOW WHAT YOU'RE DOING.
///
[ViewVariables, Access(typeof(SharedMindSystem), typeof(SharedGameTicker))]
public EntityUid? Mind { get; set; }
///
/// If true, the admin will not show up in adminwho except to admins with the flag.
///
public bool Stealthed { get; set; }
public ContentPlayerData(NetUserId userId, string name)
{
UserId = userId;
Name = name;
}
}