EntityWhitelist uses EntityUid

This commit is contained in:
Vera Aguilera Puerto
2021-11-09 13:08:09 +01:00
parent 5d66a08ac9
commit 1f9e1c033f
8 changed files with 20 additions and 18 deletions

View File

@@ -72,11 +72,11 @@ namespace Content.IntegrationTests.Tests.Utility
var mapId = GetMainMapId(mapManager); var mapId = GetMainMapId(mapManager);
var mapCoordinates = new MapCoordinates(0, 0, mapId); var mapCoordinates = new MapCoordinates(0, 0, mapId);
var validComponent = entityManager.SpawnEntity("ValidComponentDummy", mapCoordinates); var validComponent = entityManager.SpawnEntity("ValidComponentDummy", mapCoordinates).Uid;
var validTag = entityManager.SpawnEntity("ValidTagDummy", mapCoordinates); var validTag = entityManager.SpawnEntity("ValidTagDummy", mapCoordinates).Uid;
var invalidComponent = entityManager.SpawnEntity("InvalidComponentDummy", mapCoordinates); var invalidComponent = entityManager.SpawnEntity("InvalidComponentDummy", mapCoordinates).Uid;
var invalidTag = entityManager.SpawnEntity("InvalidTagDummy", mapCoordinates); var invalidTag = entityManager.SpawnEntity("InvalidTagDummy", mapCoordinates).Uid;
// Test instantiated on its own // Test instantiated on its own
var whitelistInst = new EntityWhitelist var whitelistInst = new EntityWhitelist

View File

@@ -34,7 +34,7 @@ namespace Content.Server.HandLabeler
private void AfterInteractOn(EntityUid uid, HandLabelerComponent handLabeler, AfterInteractEvent args) private void AfterInteractOn(EntityUid uid, HandLabelerComponent handLabeler, AfterInteractEvent args)
{ {
if (args.Target == null || !handLabeler.Whitelist.IsValid(args.Target)) if (args.Target == null || !handLabeler.Whitelist.IsValid(args.Target.Uid))
return; return;
AddLabelTo(uid, handLabeler, args.Target, out string? result); AddLabelTo(uid, handLabeler, args.Target, out string? result);

View File

@@ -60,7 +60,7 @@ namespace Content.Server.Pinpointer
var l = new SortedList<float, EntityUid>(); var l = new SortedList<float, EntityUid>();
foreach (var e in ents) foreach (var e in ents)
{ {
if (whitelist.IsValid(e)) if (whitelist.IsValid(e.Uid))
{ {
var dist = (e.Transform.WorldPosition - transform.WorldPosition).LengthSquared; var dist = (e.Transform.WorldPosition - transform.WorldPosition).LengthSquared;
l.TryAdd(dist, e.Uid); l.TryAdd(dist, e.Uid);

View File

@@ -135,7 +135,7 @@ namespace Content.Server.Storage.Components
return false; return false;
} }
if (_whitelist != null && !_whitelist.IsValid(entity)) if (_whitelist != null && !_whitelist.IsValid(entity.Uid))
{ {
return false; return false;
} }

View File

@@ -20,10 +20,10 @@ namespace Content.Server.Storage.EntitySystems
var count = 0; var count = 0;
foreach (var entity in component.StoredEntities) foreach (var entity in component.StoredEntities)
{ {
if (itemCounter.Count.IsValid(entity)) count++; if (itemCounter.Count.IsValid(entity.Uid)) count++;
} }
return count; return count;
} }
} }
} }

View File

@@ -24,7 +24,7 @@ namespace Content.Server.Storage.EntitySystems
{ {
foreach (var entity in containedLayers) foreach (var entity in containedLayers)
{ {
if (mapLayerData.Whitelist.IsValid(entity)) if (mapLayerData.Whitelist.IsValid(entity.Uid))
{ {
list.Add(mapLayerData.Layer); list.Add(mapLayerData.Layer);
break; break;
@@ -40,4 +40,4 @@ namespace Content.Server.Storage.EntitySystems
return false; return false;
} }
} }
} }

View File

@@ -30,7 +30,7 @@ namespace Content.Shared.Containers.ItemSlots
private void OnComponentInit(EntityUid uid, SharedItemSlotsComponent itemSlots, ComponentInit args) private void OnComponentInit(EntityUid uid, SharedItemSlotsComponent itemSlots, ComponentInit args)
{ {
// create container for each slot // create container for each slot
foreach (var pair in itemSlots.Slots) foreach (var pair in itemSlots.Slots)
{ {
var slotName = pair.Key; var slotName = pair.Key;
@@ -131,7 +131,7 @@ namespace Content.Shared.Containers.ItemSlots
foreach (var (slotName, slot) in itemSlots.Slots) foreach (var (slotName, slot) in itemSlots.Slots)
{ {
// check if item allowed in whitelist // check if item allowed in whitelist
if (slot.Whitelist != null && !slot.Whitelist.IsValid(item)) if (slot.Whitelist != null && !slot.Whitelist.IsValid(item.Uid))
continue; continue;
// check if slot does not contain the item currently being inserted??? // check if slot does not contain the item currently being inserted???
@@ -179,7 +179,7 @@ namespace Content.Shared.Containers.ItemSlots
return false; return false;
// check if item allowed in whitelist // check if item allowed in whitelist
if (slot.Whitelist != null && !slot.Whitelist.IsValid(item)) if (slot.Whitelist != null && !slot.Whitelist.IsValid(item.Uid))
return false; return false;
return true; return true;

View File

@@ -67,11 +67,13 @@ namespace Content.Shared.Whitelist
/// <summary> /// <summary>
/// Returns whether a given entity fits the whitelist. /// Returns whether a given entity fits the whitelist.
/// </summary> /// </summary>
public bool IsValid(IEntity entity) public bool IsValid(EntityUid uid, IEntityManager? entityManager = null)
{ {
if (Tags != null) entityManager ??= IoCManager.Resolve<IEntityManager>();
if (Tags != null && entityManager.TryGetComponent(uid, out TagComponent? tags))
{ {
if (entity.HasAnyTag(Tags)) if (tags.HasAnyTag(Tags))
return true; return true;
} }
@@ -79,7 +81,7 @@ namespace Content.Shared.Whitelist
{ {
foreach (var reg in _registrations) foreach (var reg in _registrations)
{ {
if (entity.HasComponent(reg.Type)) if (entityManager.HasComponent(uid, reg.Type))
return true; return true;
} }
} }