Files
RobustToolbox/Robust.Shared/Player/SharedPlayerManager.State.cs
Leon Friedrich 75626a86a3 Add dummy sessions for integration tests (#5202)
* Add dummy sessions

* if FULL_RELEASE
2024-06-05 16:50:06 +10:00

38 lines
970 B
C#

using System.Collections.Generic;
using Robust.Shared.GameStates;
using Robust.Shared.Timing;
namespace Robust.Shared.Player;
// This partial class has game-state related code.
internal abstract partial class SharedPlayerManager
{
public void Dirty()
{
LastStateUpdate = Timing.CurTick;
}
public void GetPlayerStates(GameTick fromTick, List<SessionState> states)
{
states.Clear();
if (LastStateUpdate < fromTick)
return;
states.EnsureCapacity(InternalSessions.Count);
foreach (var player in InternalSessions.Values)
{
states.Add(player.State);
}
}
public void UpdateState(ICommonSession session)
{
var state = session.State;
state.UserId = session.UserId;
state.Status = session.Status;
state.Name = session.Name;
state.ControlledEntity = EntManager.GetNetEntity(session.AttachedEntity);
Dirty();
}
}