Content update for NetEntities (#18935)

This commit is contained in:
metalgearsloth
2023-09-11 09:42:41 +10:00
committed by GitHub
parent 389c8d1a2c
commit 5a0fc68be2
526 changed files with 3058 additions and 2215 deletions

View File

@@ -340,14 +340,14 @@ public enum DoorVisualLayers : byte
public sealed class DoorComponentState : ComponentState
{
public readonly DoorState DoorState;
public readonly HashSet<EntityUid> CurrentlyCrushing;
public readonly HashSet<NetEntity> CurrentlyCrushing;
public readonly TimeSpan? NextStateChange;
public readonly bool Partial;
public DoorComponentState(DoorComponent door)
public DoorComponentState(DoorComponent door, HashSet<NetEntity> currentlyCrushing)
{
DoorState = door.State;
CurrentlyCrushing = door.CurrentlyCrushing;
CurrentlyCrushing = currentlyCrushing;
NextStateChange = door.NextStateChange;
Partial = door.Partial;
}

View File

@@ -101,7 +101,7 @@ public abstract partial class SharedDoorSystem : EntitySystem
#region StateManagement
private void OnGetState(EntityUid uid, DoorComponent door, ref ComponentGetState args)
{
args.State = new DoorComponentState(door);
args.State = new DoorComponentState(door, GetNetEntitySet(door.CurrentlyCrushing));
}
private void OnHandleState(EntityUid uid, DoorComponent door, ref ComponentHandleState args)
@@ -109,11 +109,8 @@ public abstract partial class SharedDoorSystem : EntitySystem
if (args.Current is not DoorComponentState state)
return;
if (!door.CurrentlyCrushing.SetEquals(state.CurrentlyCrushing))
{
door.CurrentlyCrushing.Clear();
door.CurrentlyCrushing.UnionWith(state.CurrentlyCrushing);
}
door.CurrentlyCrushing.Clear();
door.CurrentlyCrushing.UnionWith(EnsureEntitySet<DoorComponent>(state.CurrentlyCrushing, uid));
door.State = state.DoorState;
door.NextStateChange = state.NextStateChange;