Remove all usages of obsolete Dirty method, remove some obsoleted methods (#4500)

This commit is contained in:
DrSmugleaf
2023-10-21 14:19:07 -07:00
committed by GitHub
parent 7feede0d95
commit f754ddb96d
16 changed files with 33 additions and 81 deletions

View File

@@ -1,7 +1,5 @@
using System;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.ViewVariables;
namespace Robust.Server.GameObjects
{
@@ -15,13 +13,5 @@ namespace Robust.Server.GameObjects
/// </summary>
[DataField("layer")]
public int Layer = 1;
[ViewVariables(VVAccess.ReadWrite)]
[Obsolete("Do not access directly, only exists for VV")]
public int LayerVV
{
get => Layer;
set => EntitySystem.Get<VisibilitySystem>().SetLayer(Owner, this, value);
}
}
}

View File

@@ -1,13 +1,14 @@
using System;
using Robust.Server.GameStates;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.ViewVariables;
namespace Robust.Server.GameObjects
{
public sealed class VisibilitySystem : EntitySystem
{
[Dependency] private readonly PvsSystem _pvs = default!;
[Dependency] private readonly IViewVariablesManager _vvManager = default!;
private EntityQuery<TransformComponent> _xformQuery;
private EntityQuery<MetaDataComponent> _metaQuery;
@@ -21,6 +22,15 @@ namespace Robust.Server.GameObjects
_visiblityQuery = GetEntityQuery<VisibilityComponent>();
SubscribeLocalEvent<EntParentChangedMessage>(OnParentChange);
EntityManager.EntityInitialized += OnEntityInit;
_vvManager.GetTypeHandler<VisibilityComponent>()
.AddPath(nameof(VisibilityComponent.Layer), (_, comp) => comp.Layer, (uid, value, comp) =>
{
if (!Resolve(uid, ref comp))
return;
SetLayer(uid, comp, value);
});
}
public override void Shutdown()
@@ -40,12 +50,6 @@ namespace Robust.Server.GameObjects
RefreshVisibility(uid, visibilityComponent: component);
}
[Obsolete("Use overload that takes an EntityUid instead")]
public void AddLayer(VisibilityComponent component, int layer, bool refresh = true)
{
AddLayer(component.Owner, component, layer, refresh);
}
public void RemoveLayer(EntityUid uid, VisibilityComponent component, int layer, bool refresh = true)
{
if ((layer & component.Layer) != layer)
@@ -57,12 +61,6 @@ namespace Robust.Server.GameObjects
RefreshVisibility(uid, visibilityComponent: component);
}
[Obsolete("Use overload that takes an EntityUid instead")]
public void RemoveLayer(VisibilityComponent component, int layer, bool refresh = true)
{
RemoveLayer(component.Owner, component, layer, refresh);
}
public void SetLayer(EntityUid uid, VisibilityComponent component, int layer, bool refresh = true)
{
if (component.Layer == layer)
@@ -74,12 +72,6 @@ namespace Robust.Server.GameObjects
RefreshVisibility(uid, visibilityComponent: component);
}
[Obsolete("Use overload that takes an EntityUid instead")]
public void SetLayer(VisibilityComponent component, int layer, bool refresh = true)
{
SetLayer(component.Owner, component, layer, refresh);
}
private void OnParentChange(ref EntParentChangedMessage ev)
{
RefreshVisibility(ev.Entity);
@@ -127,12 +119,6 @@ namespace Robust.Server.GameObjects
}
}
[Obsolete("Use overload that takes an EntityUid instead")]
public void RefreshVisibility(VisibilityComponent visibilityComponent)
{
RefreshVisibility(visibilityComponent.Owner, visibilityComponent);
}
private int GetParentVisibilityMask(EntityUid uid, VisibilityComponent? visibilityComponent = null)
{
int visMask = 1; // apparently some content expects everything to have the first bit/flag set to true.

View File

@@ -98,7 +98,7 @@ namespace Robust.Server.ViewVariables
// Auto-dirty component. Only works when modifying a field that is directly on a component,
// Does not work for nested objects.
if (Object is Component comp)
EntityManager.Dirty(comp);
EntityManager.Dirty(comp.Owner, comp);
}
public bool TryGetRelativeObject(object[] propertyIndex, out object? value)