Make context menu use FrameUpdate() instead of Update() (#12257)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
This commit is contained in:
@@ -56,17 +56,14 @@ namespace Content.Client.Gameplay
|
|||||||
public IList<EntityUid> GetEntitiesUnderPosition(MapCoordinates coordinates)
|
public IList<EntityUid> GetEntitiesUnderPosition(MapCoordinates coordinates)
|
||||||
{
|
{
|
||||||
// Find all the entities intersecting our click
|
// Find all the entities intersecting our click
|
||||||
var entities = EntitySystem.Get<EntityLookupSystem>().GetEntitiesIntersecting(coordinates.MapId,
|
var entities = _entityManager.EntitySysManager.GetEntitySystem<EntityLookupSystem>().GetEntitiesIntersecting(coordinates.MapId,
|
||||||
Box2.CenteredAround(coordinates.Position, (1, 1)));
|
Box2.CenteredAround(coordinates.Position, (1, 1)), LookupFlags.Uncontained | LookupFlags.Approximate);
|
||||||
|
|
||||||
var containerSystem = _entitySystemManager.GetEntitySystem<SharedContainerSystem>();
|
|
||||||
|
|
||||||
// Check the entities against whether or not we can click them
|
// Check the entities against whether or not we can click them
|
||||||
var foundEntities = new List<(EntityUid clicked, int drawDepth, uint renderOrder)>();
|
var foundEntities = new List<(EntityUid clicked, int drawDepth, uint renderOrder)>();
|
||||||
foreach (var entity in entities)
|
foreach (var entity in entities)
|
||||||
{
|
{
|
||||||
if (_entityManager.TryGetComponent<ClickableComponent?>(entity, out var component)
|
if (_entityManager.TryGetComponent<ClickableComponent?>(entity, out var component)
|
||||||
&& !containerSystem.IsEntityInContainer(entity)
|
|
||||||
&& component.CheckClick(coordinates.Position, out var drawDepthClicked, out var renderOrder))
|
&& component.CheckClick(coordinates.Position, out var drawDepthClicked, out var renderOrder))
|
||||||
{
|
{
|
||||||
foundEntities.Add((entity, drawDepthClicked, renderOrder));
|
foundEntities.Add((entity, drawDepthClicked, renderOrder));
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Diagnostics.CodeAnalysis;
|
|
||||||
using System.Linq;
|
|
||||||
using Content.Client.CombatMode;
|
using Content.Client.CombatMode;
|
||||||
using Content.Client.ContextMenu.UI;
|
using Content.Client.ContextMenu.UI;
|
||||||
using Content.Client.Examine;
|
using Content.Client.Examine;
|
||||||
using Content.Client.Gameplay;
|
using Content.Client.Gameplay;
|
||||||
using Content.Client.Popups;
|
using Content.Client.Popups;
|
||||||
using Content.Client.Verbs.UI;
|
using Content.Client.Verbs.UI;
|
||||||
using Content.Client.Viewport;
|
|
||||||
using Content.Shared.Examine;
|
using Content.Shared.Examine;
|
||||||
using Content.Shared.GameTicking;
|
using Content.Shared.GameTicking;
|
||||||
using Content.Shared.Tag;
|
using Content.Shared.Tag;
|
||||||
@@ -18,11 +13,10 @@ using Robust.Client.GameObjects;
|
|||||||
using Robust.Client.Graphics;
|
using Robust.Client.Graphics;
|
||||||
using Robust.Client.Player;
|
using Robust.Client.Player;
|
||||||
using Robust.Client.State;
|
using Robust.Client.State;
|
||||||
using Robust.Shared.Containers;
|
|
||||||
using Robust.Shared.GameObjects;
|
|
||||||
using Robust.Shared.IoC;
|
|
||||||
using Robust.Shared.Map;
|
using Robust.Shared.Map;
|
||||||
using Robust.Shared.Utility;
|
using Robust.Shared.Utility;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace Content.Client.Verbs
|
namespace Content.Client.Verbs
|
||||||
{
|
{
|
||||||
@@ -77,9 +71,9 @@ namespace Content.Client.Verbs
|
|||||||
VerbMenu?.Dispose();
|
VerbMenu?.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Update(float frameTime)
|
public override void FrameUpdate(float frameTime)
|
||||||
{
|
{
|
||||||
base.Update(frameTime);
|
base.FrameUpdate(frameTime);
|
||||||
EntityMenu?.Update();
|
EntityMenu?.Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user