Make context menu use FrameUpdate() instead of Update() (#12257)

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
This commit is contained in:
Leon Friedrich
2022-10-30 19:21:38 +13:00
committed by GitHub
parent e6f313835d
commit 1a6d084c4d
2 changed files with 6 additions and 15 deletions

View File

@@ -56,17 +56,14 @@ namespace Content.Client.Gameplay
public IList<EntityUid> GetEntitiesUnderPosition(MapCoordinates coordinates)
{
// Find all the entities intersecting our click
var entities = EntitySystem.Get<EntityLookupSystem>().GetEntitiesIntersecting(coordinates.MapId,
Box2.CenteredAround(coordinates.Position, (1, 1)));
var containerSystem = _entitySystemManager.GetEntitySystem<SharedContainerSystem>();
var entities = _entityManager.EntitySysManager.GetEntitySystem<EntityLookupSystem>().GetEntitiesIntersecting(coordinates.MapId,
Box2.CenteredAround(coordinates.Position, (1, 1)), LookupFlags.Uncontained | LookupFlags.Approximate);
// Check the entities against whether or not we can click them
var foundEntities = new List<(EntityUid clicked, int drawDepth, uint renderOrder)>();
foreach (var entity in entities)
{
if (_entityManager.TryGetComponent<ClickableComponent?>(entity, out var component)
&& !containerSystem.IsEntityInContainer(entity)
&& component.CheckClick(coordinates.Position, out var drawDepthClicked, out var renderOrder))
{
foundEntities.Add((entity, drawDepthClicked, renderOrder));