Fix 3000 errors

This commit is contained in:
DrSmugleaf
2021-12-05 18:09:01 +01:00
parent 2bfec7ec62
commit 2a3b7d809d
569 changed files with 2979 additions and 3280 deletions

View File

@@ -18,7 +18,7 @@ namespace Content.Client.AI
[Dependency] private readonly IEyeManager _eyeManager = default!;
private AiDebugMode _tooltips = AiDebugMode.None;
private readonly Dictionary<IEntity, PanelContainer> _aiBoxes = new();
private readonly Dictionary<EntityUid, PanelContainer> _aiBoxes = new();
public override void Update(float frameTime)
{
@@ -37,7 +37,7 @@ namespace Content.Client.AI
return;
}
var deletedEntities = new List<IEntity>(0);
var deletedEntities = new List<EntityUid>(0);
foreach (var (entity, panel) in _aiBoxes)
{
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityLifeStage) >= EntityLifeStage.Deleted)
@@ -78,8 +78,7 @@ namespace Content.Client.AI
if ((_tooltips & AiDebugMode.Thonk) != 0)
{
// I guess if it's out of range we don't know about it?
var entityManager = IoCManager.Resolve<IEntityManager>();
var entity = entityManager.GetEntity(message.EntityUid);
var entity = message.EntityUid;
TryCreatePanel(entity);
// Probably shouldn't access by index but it's a debugging tool so eh
@@ -95,8 +94,7 @@ namespace Content.Client.AI
{
if ((_tooltips & AiDebugMode.Paths) != 0)
{
var entityManager = IoCManager.Resolve<IEntityManager>();
var entity = entityManager.GetEntity(message.EntityUid);
var entity = message.EntityUid;
TryCreatePanel(entity);
var label = (Label) _aiBoxes[entity].GetChild(0).GetChild(1);
@@ -110,8 +108,7 @@ namespace Content.Client.AI
{
if ((_tooltips & AiDebugMode.Paths) != 0)
{
var entityManager = IoCManager.Resolve<IEntityManager>();
var entity = entityManager.GetEntity(message.EntityUid);
var entity = message.EntityUid;
TryCreatePanel(entity);
var label = (Label) _aiBoxes[entity].GetChild(0).GetChild(1);
@@ -154,7 +151,7 @@ namespace Content.Client.AI
}
}
private bool TryCreatePanel(IEntity entity)
private bool TryCreatePanel(EntityUid entity)
{
if (!_aiBoxes.ContainsKey(entity))
{

View File

@@ -287,7 +287,7 @@ namespace Content.Client.AI
private void DrawCachedRegions(DrawingHandleScreen screenHandle, Box2 viewport)
{
var attachedEntity = _playerManager.LocalPlayer?.ControlledEntity;
if (attachedEntity == null || !CachedRegions.TryGetValue(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(attachedEntity).GridID, out var entityRegions))
if (attachedEntity == default || !CachedRegions.TryGetValue(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(attachedEntity.Value).GridID, out var entityRegions))
{
return;
}
@@ -305,7 +305,7 @@ namespace Content.Client.AI
screenTile.X + 15.0f,
screenTile.Y + 15.0f);
screenHandle.DrawRect(box, _cachedRegionColors[IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(attachedEntity).GridID][region]);
screenHandle.DrawRect(box, _cachedRegionColors[IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(attachedEntity.Value).GridID][region]);
}
}
}
@@ -336,7 +336,7 @@ namespace Content.Client.AI
private void DrawRegions(DrawingHandleScreen screenHandle, Box2 viewport)
{
var attachedEntity = _playerManager.LocalPlayer?.ControlledEntity;
if (attachedEntity == null || !Regions.TryGetValue(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(attachedEntity).GridID, out var entityRegions))
if (attachedEntity == default || !Regions.TryGetValue(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(attachedEntity.Value).GridID, out var entityRegions))
{
return;
}
@@ -356,7 +356,7 @@ namespace Content.Client.AI
screenTile.X + 15.0f,
screenTile.Y + 15.0f);
screenHandle.DrawRect(box, _regionColors[IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(attachedEntity).GridID][chunk][region]);
screenHandle.DrawRect(box, _regionColors[IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(attachedEntity.Value).GridID][chunk][region]);
}
}
}

View File

@@ -9,7 +9,7 @@ namespace Content.Client.AME.Visualizers
[UsedImplicitly]
public class AMEControllerVisualizer : AppearanceVisualizer
{
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);
var sprite = IoCManager.Resolve<IEntityManager>().GetComponent<ISpriteComponent>(entity);

View File

@@ -9,7 +9,7 @@ namespace Content.Client.AME.Visualizers
[UsedImplicitly]
public class AMEVisualizer : AppearanceVisualizer
{
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);
var sprite = IoCManager.Resolve<IEntityManager>().GetComponent<ISpriteComponent>(entity);

View File

@@ -84,7 +84,7 @@ namespace Content.Client.Actions
return new((in PointerInputCmdHandler.PointerInputCmdArgs args) =>
{
var playerEntity = _playerManager.LocalPlayer?.ControlledEntity;
if (playerEntity == null ||
if (playerEntity == default ||
!EntityManager.TryGetComponent<ClientActionsComponent?>(playerEntity.Value, out var actionsComponent)) return false;
actionsComponent.HandleHotbarKeybind(slot, args);
@@ -98,7 +98,7 @@ namespace Content.Client.Actions
return new((in PointerInputCmdHandler.PointerInputCmdArgs args) =>
{
var playerEntity = _playerManager.LocalPlayer?.ControlledEntity;
if (playerEntity == null ||
if (playerEntity == default ||
!EntityManager.TryGetComponent<ClientActionsComponent?>(playerEntity.Value, out var actionsComponent)) return false;
actionsComponent.HandleChangeHotbarKeybind(hotbar, args);
@@ -110,7 +110,7 @@ namespace Content.Client.Actions
private bool TargetingOnUse(in PointerInputCmdHandler.PointerInputCmdArgs args)
{
var playerEntity = _playerManager.LocalPlayer?.ControlledEntity;
if (playerEntity == null ||
if (playerEntity == default ||
!EntityManager.TryGetComponent<ClientActionsComponent?>(playerEntity.Value, out var actionsComponent)) return false;
return actionsComponent.TargetingOnUse(args);
@@ -119,7 +119,7 @@ namespace Content.Client.Actions
private void ToggleActionsMenu()
{
var playerEntity = _playerManager.LocalPlayer?.ControlledEntity;
if (playerEntity == null ||
if (playerEntity == default ||
!EntityManager.TryGetComponent<ClientActionsComponent?>(playerEntity.Value, out var actionsComponent)) return;
actionsComponent.ToggleActionsMenu();

View File

@@ -1,7 +1,5 @@
using Content.Client.Actions.Assignments;
using Content.Client.Actions.UI;
using Content.Client.Hands;
using Content.Client.Inventory;
using Content.Client.Items.Managers;
using Content.Shared.Actions.Components;
using Content.Shared.Actions.Prototypes;
@@ -226,7 +224,7 @@ namespace Content.Client.Actions
/// Highlights the item slot (inventory or hand) that contains this item
/// </summary>
/// <param name="item"></param>
public void HighlightItemSlot(IEntity item)
public void HighlightItemSlot(EntityUid item)
{
StopHighlightingItemSlots();
@@ -236,7 +234,7 @@ namespace Content.Client.Actions
/// <summary>
/// Stops highlighting any item slots we are currently highlighting.
/// </summary>
/// </summary>H
public void StopHighlightingItemSlots()
{
if (_highlightedEntity == default)

View File

@@ -62,7 +62,7 @@ namespace Content.Client.Actions.UI
/// Item the action is provided by, only valid if Action is an ItemActionPrototype. May be null
/// if the item action is not yet tied to an item.
/// </summary>
public IEntity? Item { get; private set; }
public EntityUid Item { get; private set; }
/// <summary>
/// Whether the action in this slot should be shown as toggled on. Separate from Depressed.
@@ -231,7 +231,7 @@ namespace Content.Client.Actions.UI
{
ActionPrototype actionPrototype => new ActionAttempt(actionPrototype),
ItemActionPrototype itemActionPrototype =>
(Item != null && IoCManager.Resolve<IEntityManager>().TryGetComponent<ItemActionsComponent?>(Item, out var itemActions)) ?
(Item != default && IoCManager.Resolve<IEntityManager>().TryGetComponent<ItemActionsComponent?>(Item, out var itemActions)) ?
new ItemActionAttempt(itemActionPrototype, Item, itemActions) : null,
_ => null
};
@@ -245,7 +245,7 @@ namespace Content.Client.Actions.UI
_beingHovered = true;
DrawModeChanged();
if (Action is not ItemActionPrototype) return;
if (Item == null) return;
if (Item == default) return;
_actionsComponent.HighlightItemSlot(Item);
}
@@ -376,7 +376,7 @@ namespace Content.Client.Actions.UI
if (Action != null && Action == action) return;
Action = action;
Item = null;
Item = default;
_depressed = false;
ToggledOn = false;
ActionEnabled = actionEnabled;
@@ -395,10 +395,10 @@ namespace Content.Client.Actions.UI
public void Assign(ItemActionPrototype action)
{
// already assigned
if (Action != null && Action == action && Item == null) return;
if (Action != null && Action == action && Item == default) return;
Action = action;
Item = null;
Item = default;
_depressed = false;
ToggledOn = false;
ActionEnabled = false;
@@ -415,7 +415,7 @@ namespace Content.Client.Actions.UI
/// <param name="action">action to assign</param>
/// <param name="item">item the action is provided by</param>
/// <param name="actionEnabled">whether action should initially appear enable or disabled</param>
public void Assign(ItemActionPrototype action, IEntity item, bool actionEnabled)
public void Assign(ItemActionPrototype action, EntityUid item, bool actionEnabled)
{
// already assigned
if (Action != null && Action == action && Item == item) return;
@@ -439,7 +439,7 @@ namespace Content.Client.Actions.UI
{
if (!HasAssignment) return;
Action = null;
Item = null;
Item = default;
ToggledOn = false;
_depressed = false;
Cooldown = null;
@@ -502,7 +502,7 @@ namespace Content.Client.Actions.UI
SetActionIcon(Action.Icon.Frame0());
}
if (Item != null)
if (Item != default)
{
SetItemIcon(IoCManager.Resolve<IEntityManager>().TryGetComponent<ISpriteComponent?>(Item, out var spriteComponent) ? spriteComponent : null);
}

View File

@@ -378,10 +378,10 @@ namespace Content.Client.Actions.UI
private void UpdateActionSlot(EntityUid item, ItemActionType itemActionType, ActionSlot actionSlot,
ActionAssignment? assignedActionType)
{
if (!_entityManager.TryGetEntity(item, out var itemEntity)) return;
if (!_entityManager.EntityExists(item)) return;
if (_actionManager.TryGet(itemActionType, out var action))
{
actionSlot.Assign(action, itemEntity, true);
actionSlot.Assign(action, item, true);
}
else
{
@@ -420,7 +420,7 @@ namespace Content.Client.Actions.UI
// if we are targeting with an action now on cooldown, stop targeting if we should
if (SelectingTargetFor?.Action != null && SelectingTargetFor.Action == action &&
SelectingTargetFor.Item == itemEntity &&
SelectingTargetFor.Item == item &&
actionState.IsOnCooldown(_gameTiming) && action.DeselectOnCooldown)
{
StopTargeting();

View File

@@ -1,6 +1,4 @@
using System.Collections.Generic;
using Content.Shared.Administration.Events;
using Robust.Client.Graphics;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Shared.Enums;
using Robust.Shared.GameObjects;
@@ -36,7 +34,8 @@ namespace Content.Client.Administration
foreach (var playerInfo in _system.PlayerList)
{
// Otherwise the entity can not exist yet
if (!_entityManager.TryGetEntity(playerInfo.EntityUid, out var entity))
var entity = playerInfo.EntityUid;
if (!_entityManager.EntityExists(entity))
{
continue;
}

View File

@@ -1,3 +1,5 @@
using System;
using System.Collections.Generic;
using Content.Shared.Chemistry.Components;
using Robust.Client.AutoGenerated;
using Robust.Client.Console;
@@ -7,8 +9,6 @@ using Robust.Client.UserInterface.XAML;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Localization;
using System;
using System.Collections.Generic;
namespace Content.Client.Administration.UI.ManageSolutions
{
@@ -46,8 +46,8 @@ namespace Content.Client.Administration.UI.ManageSolutions
{
_target = target;
var targetName = _entityManager.TryGetEntity(target, out var entity)
? IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityName
var targetName = _entityManager.EntityExists(target)
? IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(target).EntityName
: string.Empty;
Title = Loc.GetString("admin-solutions-window-title", ("targetName", targetName));

View File

@@ -23,8 +23,8 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
_data = IoCManager.Resolve<IMapManager>().GetAllGrids().Where(g => (int) g.Index != 0);
foreach (var grid in _data)
{
IEntity? tempQualifier = IoCManager.Resolve<IPlayerManager>().LocalPlayer?.ControlledEntity;
var playerGrid = (tempQualifier != null ? IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(tempQualifier) : null).GridID;
var tempQualifier = IoCManager.Resolve<IPlayerManager>().LocalPlayer?.ControlledEntity;
var playerGrid = (tempQualifier != default ? IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(tempQualifier.Value) : null)?.GridID;
GridOptions.AddItem($"{grid.Index} {(playerGrid == grid.Index ? " (Current)" : "")}");
}

View File

@@ -1,7 +1,6 @@
using System.Collections.Generic;
using System.Linq;
using Content.Client.Atmos.EntitySystems;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Prototypes;
using JetBrains.Annotations;
using Robust.Client.AutoGenerated;
@@ -28,8 +27,8 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
_gridData = IoCManager.Resolve<IMapManager>().GetAllGrids().Where(g => (int) g.Index != 0);
foreach (var grid in _gridData)
{
IEntity? tempQualifier = IoCManager.Resolve<IPlayerManager>().LocalPlayer?.ControlledEntity;
var playerGrid = (tempQualifier != null ? IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(tempQualifier) : null).GridID;
var tempQualifier = IoCManager.Resolve<IPlayerManager>().LocalPlayer?.ControlledEntity;
var playerGrid = (tempQualifier != default ? IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(tempQualifier.Value) : null)?.GridID;
GridOptions.AddItem($"{grid.Index} {(playerGrid == grid.Index ? " (Current)" : "")}");
}

View File

@@ -1,7 +1,6 @@
using System.Collections.Generic;
using System.Linq;
using Content.Client.Atmos.EntitySystems;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Prototypes;
using JetBrains.Annotations;
using Robust.Client.AutoGenerated;
@@ -28,8 +27,8 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
_gridData = IoCManager.Resolve<IMapManager>().GetAllGrids().Where(g => (int) g.Index != 0);
foreach (var grid in _gridData)
{
IEntity? tempQualifier = IoCManager.Resolve<IPlayerManager>().LocalPlayer?.ControlledEntity;
var playerGrid = (tempQualifier != null ? IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(tempQualifier) : null).GridID;
var tempQualifier = IoCManager.Resolve<IPlayerManager>().LocalPlayer?.ControlledEntity;
var playerGrid = (tempQualifier != default ? IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(tempQualifier.Value) : null)?.GridID;
GridOptions.AddItem($"{grid.Index} {(playerGrid == grid.Index ? " (Current)" : "")}");
}

View File

@@ -23,8 +23,8 @@ namespace Content.Client.Administration.UI.Tabs.AtmosTab
_data = IoCManager.Resolve<IMapManager>().GetAllGrids().Where(g => (int) g.Index != 0);
foreach (var grid in _data)
{
IEntity? tempQualifier = IoCManager.Resolve<IPlayerManager>().LocalPlayer?.ControlledEntity;
var playerGrid = (tempQualifier != null ? IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(tempQualifier) : null).GridID;
var tempQualifier = IoCManager.Resolve<IPlayerManager>().LocalPlayer?.ControlledEntity;
var playerGrid = (tempQualifier != default ? IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(tempQualifier.Value) : null)?.GridID;
GridOptions.AddItem($"{grid.Index} {(playerGrid == grid.Index ? " (Current)" : "")}");
}

View File

@@ -12,7 +12,7 @@ namespace Content.Client.Animations
{
public static class ReusableAnimations
{
public static void AnimateEntityPickup(IEntity entity, EntityCoordinates initialPosition, Vector2 finalPosition)
public static void AnimateEntityPickup(EntityUid entity, EntityCoordinates initialPosition, Vector2 finalPosition)
{
var animatableClone = IoCManager.Resolve<IEntityManager>().SpawnEntity("clientsideclone", initialPosition);
string val = IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityName;
@@ -28,7 +28,7 @@ namespace Content.Client.Animations
var animations = IoCManager.Resolve<IEntityManager>().GetComponent<AnimationPlayerComponent>(animatableClone);
animations.AnimationCompleted += (_) => {
IoCManager.Resolve<IEntityManager>().DeleteEntity((EntityUid) animatableClone);
IoCManager.Resolve<IEntityManager>().DeleteEntity(animatableClone);
};
animations.Play(new Animation

View File

@@ -13,7 +13,7 @@ namespace Content.Client.Atmos.Visualizers
[DataField("layer")]
private int Layer { get; }
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);

View File

@@ -2,6 +2,7 @@ using System;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Atmos.Visualizers
@@ -20,7 +21,8 @@ namespace Content.Client.Atmos.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite))
return;
if(component.TryGetData(DataKey, out bool enabled) && sprite.LayerMapTryGet(LayerMap, out var layer))

View File

@@ -1,5 +1,4 @@
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
@@ -23,7 +22,7 @@ namespace Content.Client.Atmos.Visualizers
[DataField("sprite")]
private string? _sprite;
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);

View File

@@ -2,6 +2,7 @@
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Atmos.Visualizers
@@ -18,7 +19,8 @@ namespace Content.Client.Atmos.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite))
{
return;
}

View File

@@ -16,7 +16,7 @@ namespace Content.Client.Atmos.Visualizers
[DataField("insertedTankState")]
private readonly string _insertedTankState = string.Empty;
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);
@@ -32,7 +32,8 @@ namespace Content.Client.Atmos.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite))
{
return;
}

View File

@@ -13,7 +13,7 @@ namespace Content.Client.Atmos.Visualizers
[DataField("stateConnected")]
private string? _stateConnected;
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);
@@ -30,7 +30,8 @@ namespace Content.Client.Atmos.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite))
{
return;
}

View File

@@ -37,11 +37,12 @@ namespace Content.Client.Atmos.Visualizers
Logger.Error($"{nameof(PipeConnectorVisualizer)} could not load to load RSI {rsiString}.");
}
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<ISpriteComponent?>(entity, out var sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent<ISpriteComponent?>(entity, out var sprite))
return;
if (_connectorRsi == null)
@@ -52,7 +53,7 @@ namespace Content.Client.Atmos.Visualizers
sprite.LayerMapReserveBlank(layerKey);
var layer = sprite.LayerMapGet(layerKey);
sprite.LayerSetRSI(layer, _connectorRsi);
var layerState = _baseState + ((PipeDirection) layerKey).ToString();
var layerState = _baseState + ((PipeDirection) layerKey);
sprite.LayerSetState(layer, layerState);
}
}
@@ -61,10 +62,11 @@ namespace Content.Client.Atmos.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent<TransformComponent>(out var xform))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent<TransformComponent>(component.Owner, out var xform))
return;
if (!component.Owner.TryGetComponent<ISpriteComponent>(out var sprite))
if (!entities.TryGetComponent<ISpriteComponent>(component.Owner, out var sprite))
return;
if (!component.TryGetData(PipeColorVisuals.Color, out Color color))

View File

@@ -2,6 +2,7 @@ using Content.Shared.Atmos.Piping.Unary.Visuals;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
namespace Content.Client.Atmos.Visualizers
{
@@ -18,7 +19,8 @@ namespace Content.Client.Atmos.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite))
return;
if (!component.TryGetData(ScrubberVisuals.State, out ScrubberState state))

View File

@@ -2,6 +2,7 @@ using Content.Shared.Atmos.Visuals;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
namespace Content.Client.Atmos.Visualizers
{
@@ -17,7 +18,8 @@ namespace Content.Client.Atmos.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite))
return;
if (!component.TryGetData(VentPumpVisuals.State, out VentPumpState state))

View File

@@ -90,17 +90,17 @@ namespace Content.Client.Audio
_accumulator -= _cooldown;
var player = _playerManager.LocalPlayer?.ControlledEntity;
if (player == null)
if (player == default)
{
ClearSounds();
return;
}
var coordinates = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(player).Coordinates;
var coordinates = EntityManager.GetComponent<TransformComponent>(player.Value).Coordinates;
foreach (var (comp, (stream, _)) in _playingSounds.ToArray())
{
if (!comp.Deleted && comp.Enabled && IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(comp.Owner).Coordinates.TryDistance(EntityManager, coordinates, out var range) &&
if (!comp.Deleted && comp.Enabled && EntityManager.GetComponent<TransformComponent>(comp.Owner).Coordinates.TryDistance(EntityManager, coordinates, out var range) &&
range <= comp.Range)
{
continue;
@@ -136,11 +136,11 @@ namespace Content.Client.Audio
foreach (var entity in _lookup.GetEntitiesInRange(coordinates, _maxAmbientRange,
LookupFlags.Approximate | LookupFlags.IncludeAnchored))
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out AmbientSoundComponent? ambientComp) ||
if (!EntityManager.TryGetComponent(entity, out AmbientSoundComponent? ambientComp) ||
_playingSounds.ContainsKey(ambientComp) ||
!ambientComp.Enabled ||
// We'll also do this crude distance check because it's what we're doing in the active loop above.
!IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).Coordinates.TryDistance(EntityManager, coordinates, out var range) ||
!EntityManager.GetComponent<TransformComponent>(entity).Coordinates.TryDistance(EntityManager, coordinates, out var range) ||
range > ambientComp.Range - RangeBuffer)
{
continue;

View File

@@ -15,7 +15,7 @@ namespace Content.Client.Body.UI
private BodyScannerDisplay? _display;
[ViewVariables]
private IEntity? _entity;
private EntityUid _entity;
public BodyScannerBoundUserInterface(ClientUserInterfaceComponent owner, object uiKey) : base(owner, uiKey) { }
@@ -36,7 +36,7 @@ namespace Content.Client.Body.UI
return;
}
if (!IoCManager.Resolve<IEntityManager>().TryGetEntity(scannerState.Uid, out _entity))
if (!IoCManager.Resolve<IEntityManager>().EntityExists(scannerState.Uid))
{
throw new ArgumentException($"Received an invalid entity with id {scannerState.Uid} for body scanner with id {Owner.Owner} at {IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Owner).MapPosition}");
}

View File

@@ -1,6 +1,5 @@
using System.Linq;
using Content.Shared.Body.Components;
using Content.Shared.Body.Part;
using Content.Shared.Damage;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
@@ -14,7 +13,7 @@ namespace Content.Client.Body.UI
{
public sealed class BodyScannerDisplay : SS14Window
{
private IEntity? _currentEntity;
private EntityUid _currentEntity;
private SharedBodyPartComponent? _currentBodyPart;
public BodyScannerDisplay(BodyScannerBoundUserInterface owner)
@@ -103,7 +102,7 @@ namespace Content.Client.Body.UI
private RichTextLabel MechanismInfoLabel { get; }
public void UpdateDisplay(IEntity entity)
public void UpdateDisplay(EntityUid entity)
{
if(entity == null)
return;

View File

@@ -10,7 +10,7 @@ namespace Content.Client.Botany
[UsedImplicitly]
public class PlantHolderVisualizer : AppearanceVisualizer
{
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);

View File

@@ -30,7 +30,7 @@ namespace Content.Client.Buckle
_buckled = buckle.Buckled;
LastEntityBuckledTo = buckle.LastEntityBuckledTo;
DontCollide = buckle.DontCollide;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(OwnerUid, out SpriteComponent? ownerSprite))
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out SpriteComponent? ownerSprite))
{
return;
}

View File

@@ -2,6 +2,7 @@ using Content.Shared.Cabinet;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Cabinet
@@ -19,7 +20,8 @@ namespace Content.Client.Cabinet
{
base.OnChangeData(component);
if (component.Owner.TryGetComponent<SpriteComponent>(out var sprite)
var entities = IoCManager.Resolve<IEntityManager>();
if (entities.TryGetComponent(component.Owner, out SpriteComponent sprite)
&& component.TryGetData(ItemCabinetVisuals.IsOpen, out bool isOpen)
&& component.TryGetData(ItemCabinetVisuals.ContainsItem, out bool contains))
{

View File

@@ -50,7 +50,7 @@ namespace Content.Client.CharacterAppearance.Systems
{
foreach (var (part, _) in body.Parts)
{
if (EntityManager.TryGetComponent(part.OwnerUid, out SpriteComponent? partSprite))
if (EntityManager.TryGetComponent(part.Owner, out SpriteComponent? partSprite))
{
partSprite!.Color = component.Appearance.SkinColor;
}
@@ -113,7 +113,7 @@ namespace Content.Client.CharacterAppearance.Systems
return;
}
if (!entityManager.HasComponent<SpriteComponent>(args.Args.Part.OwnerUid))
if (!entityManager.HasComponent<SpriteComponent>(args.Args.Part.Owner))
{
return;
}
@@ -136,7 +136,7 @@ namespace Content.Client.CharacterAppearance.Systems
return;
}
if (!EntityManager.HasComponent<SpriteComponent>(args.Args.Part.OwnerUid))
if (!EntityManager.HasComponent<SpriteComponent>(args.Args.Part.Owner))
{
return;
}

View File

@@ -37,8 +37,8 @@ namespace Content.Client.CharacterInterface
private void HandleOpenCharacterMenu()
{
if (_playerManager.LocalPlayer?.ControlledEntity == null
|| !IoCManager.Resolve<IEntityManager>().TryGetComponent(_playerManager.LocalPlayer.ControlledEntity, out CharacterInterfaceComponent? characterInterface))
if (_playerManager.LocalPlayer?.ControlledEntity == default
|| !EntityManager.TryGetComponent(_playerManager.LocalPlayer.ControlledEntity, out CharacterInterfaceComponent? characterInterface))
{
return;
}

View File

@@ -231,7 +231,9 @@ namespace Content.Client.Chat.Managers
ChatPermissionsUpdated?.Invoke(new ChatPermissionsUpdatedEventArgs {OldSelectableChannels = oldSelectable});
}
public bool IsGhost => _playerManager.LocalPlayer?.ControlledEntity is {} uid && _entityManager.HasComponent<GhostComponent>(uid);
public bool IsGhost => _playerManager.LocalPlayer?.ControlledEntity is {} uid &&
uid.IsValid() &&
_entityManager.HasComponent<GhostComponent>(uid);
public void FrameUpdate(FrameEventArgs delta)
{
@@ -241,11 +243,11 @@ namespace Content.Client.Chat.Managers
return;
}
foreach (var (entityUid, queueData) in _queuedSpeechBubbles.ShallowClone())
foreach (var (entity, queueData) in _queuedSpeechBubbles.ShallowClone())
{
if (!_entityManager.TryGetEntity(entityUid, out var entity))
if (!_entityManager.EntityExists(entity))
{
_queuedSpeechBubbles.Remove(entityUid);
_queuedSpeechBubbles.Remove(entity);
continue;
}
@@ -257,7 +259,7 @@ namespace Content.Client.Chat.Managers
if (queueData.MessageQueue.Count == 0)
{
_queuedSpeechBubbles.Remove(entityUid);
_queuedSpeechBubbles.Remove(entity);
continue;
}
@@ -412,7 +414,7 @@ namespace Content.Client.Chat.Managers
private void AddSpeechBubble(MsgChatMessage msg, SpeechBubble.SpeechType speechType)
{
if (!_entityManager.TryGetEntity(msg.SenderEntity, out var entity))
if (!_entityManager.EntityExists(msg.SenderEntity))
{
Logger.WarningS("chat", "Got local chat message with invalid sender entity: {0}", msg.SenderEntity);
return;
@@ -422,7 +424,7 @@ namespace Content.Client.Chat.Managers
foreach (var message in messages)
{
EnqueueSpeechBubble(entity, message, speechType);
EnqueueSpeechBubble(msg.SenderEntity, message, speechType);
}
}
@@ -472,7 +474,7 @@ namespace Content.Client.Chat.Managers
return messages;
}
private void EnqueueSpeechBubble(IEntity entity, string contents, SpeechBubble.SpeechType speechType)
private void EnqueueSpeechBubble(EntityUid entity, string contents, SpeechBubble.SpeechType speechType)
{
// Don't enqueue speech bubbles for other maps. TODO: Support multiple viewports/maps?
if (IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).MapID != _eyeManager.CurrentMap)
@@ -491,7 +493,7 @@ namespace Content.Client.Chat.Managers
});
}
private void CreateSpeechBubble(IEntity entity, SpeechBubbleData speechData)
private void CreateSpeechBubble(EntityUid entity, SpeechBubbleData speechData)
{
var bubble =
SpeechBubble.CreateSpeechBubble(speechData.Type, speechData.Message, entity, _eyeManager, this);

View File

@@ -36,7 +36,7 @@ namespace Content.Client.Chat.UI
private const float EntityVerticalOffset = 0.5f;
private readonly IEyeManager _eyeManager;
private readonly IEntity _senderEntity;
private readonly EntityUid _senderEntity;
private readonly IChatManager _chatManager;
private float _timeLeft = TotalTime;
@@ -46,7 +46,7 @@ namespace Content.Client.Chat.UI
public float ContentHeight { get; private set; }
public static SpeechBubble CreateSpeechBubble(SpeechType type, string text, IEntity senderEntity, IEyeManager eyeManager, IChatManager chatManager)
public static SpeechBubble CreateSpeechBubble(SpeechType type, string text, EntityUid senderEntity, IEyeManager eyeManager, IChatManager chatManager)
{
switch (type)
{
@@ -61,7 +61,7 @@ namespace Content.Client.Chat.UI
}
}
public SpeechBubble(string text, IEntity senderEntity, IEyeManager eyeManager, IChatManager chatManager)
public SpeechBubble(string text, EntityUid senderEntity, IEyeManager eyeManager, IChatManager chatManager)
{
_chatManager = chatManager;
_senderEntity = senderEntity;
@@ -162,7 +162,7 @@ namespace Content.Client.Chat.UI
public class EmoteSpeechBubble : SpeechBubble
{
public EmoteSpeechBubble(string text, IEntity senderEntity, IEyeManager eyeManager, IChatManager chatManager)
public EmoteSpeechBubble(string text, EntityUid senderEntity, IEyeManager eyeManager, IChatManager chatManager)
: base(text, senderEntity, eyeManager, chatManager)
{
}
@@ -188,7 +188,7 @@ namespace Content.Client.Chat.UI
public class SaySpeechBubble : SpeechBubble
{
public SaySpeechBubble(string text, IEntity senderEntity, IEyeManager eyeManager, IChatManager chatManager)
public SaySpeechBubble(string text, EntityUid senderEntity, IEyeManager eyeManager, IChatManager chatManager)
: base(text, senderEntity, eyeManager, chatManager)
{
}

View File

@@ -4,6 +4,7 @@ using JetBrains.Annotations;
using Robust.Client.Animations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Maths;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.Manager.Attributes;
@@ -36,11 +37,12 @@ namespace Content.Client.Chemistry.Visualizers
{
base.OnChangeData(component);
var entities = IoCManager.Resolve<IEntityManager>();
if (component.TryGetData<bool>(FoamVisuals.State, out var state))
{
if (state)
{
if (component.Owner.TryGetComponent(out AnimationPlayerComponent? animPlayer))
if (entities.TryGetComponent(component.Owner, out AnimationPlayerComponent? animPlayer))
{
if (!animPlayer.HasRunningAnimation(AnimationKey))
animPlayer.Play(_foamDissolve, AnimationKey);
@@ -50,7 +52,7 @@ namespace Content.Client.Chemistry.Visualizers
if (component.TryGetData<Color>(FoamVisuals.Color, out var color))
{
if (component.Owner.TryGetComponent(out ISpriteComponent? sprite))
if (entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite))
{
sprite.Color = color;
}

View File

@@ -2,6 +2,7 @@
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Maths;
namespace Content.Client.Chemistry.Visualizers
@@ -13,9 +14,10 @@ namespace Content.Client.Chemistry.Visualizers
{
base.OnChangeData(component);
var entities = IoCManager.Resolve<IEntityManager>();
if (component.TryGetData<Color>(SmokeVisuals.Color, out var color))
{
if (component.Owner.TryGetComponent(out ISpriteComponent? sprite))
if (entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite))
{
sprite.Color = color;
}

View File

@@ -3,6 +3,7 @@ using Content.Shared.Chemistry;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Maths;
using Robust.Shared.Serialization.Manager.Attributes;
@@ -25,7 +26,8 @@ namespace Content.Client.Chemistry.Visualizers
if (!component.TryGetData(SolutionContainerVisuals.VisualState,
out SolutionContainerVisualState state)) return;
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite)) return;
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite)) return;
if (!sprite.LayerMapTryGet(_layer, out var fillLayer)) return;
var fillPercent = state.FilledVolumePercent;

View File

@@ -4,7 +4,6 @@ using Content.Shared.Targeting;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.Player;
using Robust.Shared.GameObjects;
using Robust.Shared.Input.Binding;
using Robust.Shared.IoC;
@@ -35,7 +34,7 @@ namespace Content.Client.CombatMode
public bool IsInCombatMode()
{
var entity = _playerManager.LocalPlayer?.ControlledEntity;
if (entity == null || !IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out CombatModeComponent? combatMode))
if (entity == default || !EntityManager.TryGetComponent(entity.Value, out CombatModeComponent? combatMode))
{
return false;
}

View File

@@ -20,7 +20,7 @@ namespace Content.Client.Computer
private string BodyBrokenState = "broken";
private string ScreenBroken = "computer_broken";
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);

View File

@@ -17,7 +17,6 @@ using Robust.Shared.Map;
using Robust.Shared.Maths;
using Robust.Shared.Prototypes;
namespace Content.Client.Construction
{
/// <summary>
@@ -111,7 +110,7 @@ namespace Content.Client.Construction
private void HandlePlayerAttached(PlayerAttachSysMessage msg)
{
var available = IsCrafingAvailable(msg.AttachedEntity);
var available = IsCraftingAvailable(msg.AttachedEntity);
UpdateCraftingAvailability(available);
}
@@ -131,9 +130,9 @@ namespace Content.Client.Construction
CraftingEnabled = available;
}
private static bool IsCrafingAvailable(IEntity? entity)
private static bool IsCraftingAvailable(EntityUid? entity)
{
if (entity == null)
if (entity == default)
return false;
// TODO: Decide if entity can craft, using capabilities or something
@@ -145,9 +144,7 @@ namespace Content.Client.Construction
if (!args.EntityUid.IsValid() || !args.EntityUid.IsClientSide())
return false;
var entity = EntityManager.GetEntity(args.EntityUid);
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<ConstructionGhostComponent?>(entity, out var ghostComp))
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<ConstructionGhostComponent?>(args.EntityUid, out var ghostComp))
return false;
TryStartConstruction(ghostComp.GhostId);
@@ -159,10 +156,14 @@ namespace Content.Client.Construction
/// </summary>
public void SpawnGhost(ConstructionPrototype prototype, EntityCoordinates loc, Direction dir)
{
var user = _playerManager.LocalPlayer?.ControlledEntity;
if (_playerManager.LocalPlayer?.ControlledEntity is not { } user ||
!user.IsValid())
{
return;
}
// This InRangeUnobstructed should probably be replaced with "is there something blocking us in that tile?"
if (user == null || GhostPresent(loc) || !user.InRangeUnobstructed(loc, 20f, ignoreInsideBlocker: prototype.CanBuildInImpassable)) return;
if (GhostPresent(loc) || !user.InRangeUnobstructed(loc, 20f, ignoreInsideBlocker: prototype.CanBuildInImpassable)) return;
foreach (var condition in prototype.Conditions)
{
@@ -226,7 +227,7 @@ namespace Content.Client.Construction
{
if (_ghosts.TryGetValue(ghostId, out var ghost))
{
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity((EntityUid) ghost.Owner);
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(ghost.Owner);
_ghosts.Remove(ghostId);
}
}
@@ -238,7 +239,7 @@ namespace Content.Client.Construction
{
foreach (var (_, ghost) in _ghosts)
{
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity((EntityUid) ghost.Owner);
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(ghost.Owner);
}
_ghosts.Clear();

View File

@@ -1,4 +1,3 @@
using Content.Client.Stylesheets;
using Robust.Client.GameObjects;
using Robust.Client.UserInterface.Controls;
using Robust.Shared.GameObjects;
@@ -14,7 +13,7 @@ namespace Content.Client.ContextMenu.UI
/// <summary>
/// The entity that can be accessed by interacting with this element.
/// </summary>
public IEntity? Entity;
public EntityUid Entity;
/// <summary>
/// How many entities are accessible through this element's sub-menus.
@@ -24,10 +23,10 @@ namespace Content.Client.ContextMenu.UI
/// </remarks>
public int Count;
public Label CountLabel;
public SpriteView EntityIcon = new SpriteView { OverrideDirection = Direction.South};
public readonly Label CountLabel;
public readonly SpriteView EntityIcon = new() { OverrideDirection = Direction.South};
public EntityMenuElement(IEntity? entity = null) : base()
public EntityMenuElement(EntityUid entity = default)
{
CountLabel = new Label { StyleClasses = { StyleClassEntityMenuCountText } };
Icon.AddChild(new LayoutContainer() { Children = { EntityIcon, CountLabel } });
@@ -37,7 +36,7 @@ namespace Content.Client.ContextMenu.UI
LayoutContainer.SetGrowVertical(CountLabel, LayoutContainer.GrowDirection.Begin);
Entity = entity;
if (Entity != null)
if (Entity != default)
{
Count = 1;
CountLabel.Visible = false;
@@ -48,7 +47,7 @@ namespace Content.Client.ContextMenu.UI
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
Entity = null;
Entity = default;
Count = 0;
}
@@ -56,12 +55,12 @@ namespace Content.Client.ContextMenu.UI
/// Update the icon and text of this element based on the given entity or this element's own entity if none
/// is provided.
/// </summary>
public void UpdateEntity(IEntity? entity = null)
public void UpdateEntity(EntityUid entity = default)
{
if (Entity != null && IoCManager.Resolve<IEntityManager>().EntityExists(Entity))
entity ??= Entity;
if (Entity != default && IoCManager.Resolve<IEntityManager>().EntityExists(Entity) && !entity.Valid)
entity = Entity;
if (entity == null)
if (entity == default)
{
Text = string.Empty;
return;

View File

@@ -18,8 +18,8 @@ using Robust.Shared.Input.Binding;
using Robust.Shared.IoC;
using Robust.Shared.Log;
using Robust.Shared.Maths;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
namespace Content.Client.ContextMenu.UI
{
/// <summary>
@@ -51,7 +51,7 @@ namespace Content.Client.ContextMenu.UI
/// <remarks>
/// This is used remove GUI elements when the entities are deleted. or leave the LOS.
/// </remarks>
public Dictionary<IEntity, EntityMenuElement> Elements = new();
public Dictionary<EntityUid, EntityMenuElement> Elements = new();
public EntityMenuPresenter(VerbSystem verbSystem) : base()
{
@@ -77,7 +77,7 @@ namespace Content.Client.ContextMenu.UI
/// <summary>
/// Given a list of entities, sort them into groups and them to a new entity menu.
/// </summary>
public void OpenRootMenu(List<IEntity> entities)
public void OpenRootMenu(List<EntityUid> entities)
{
// close any old menus first.
if (RootMenu.Visible)
@@ -101,8 +101,12 @@ namespace Content.Client.ContextMenu.UI
// get an entity associated with this element
var entity = entityElement.Entity;
entity ??= GetFirstEntityOrNull(element.SubMenu);
if (entity == null)
if (!entity.Valid)
{
entity = GetFirstEntityOrNull(element.SubMenu);
}
if (!entity.Valid)
return;
// open verb menu?
@@ -173,9 +177,8 @@ namespace Content.Client.ContextMenu.UI
if (!RootMenu.Visible)
return;
var player = _playerManager.LocalPlayer?.ControlledEntity;
if (player == null)
if (_playerManager.LocalPlayer?.ControlledEntity is not { } player ||
!player.IsValid())
return;
// Do we need to do in-range unOccluded checks?
@@ -193,7 +196,7 @@ namespace Content.Client.ContextMenu.UI
/// Add menu elements for a list of grouped entities;
/// </summary>
/// <param name="entityGroups"> A list of entity groups. Entities are grouped together based on prototype.</param>
private void AddToUI(List<List<IEntity>> entityGroups)
private void AddToUI(List<List<EntityUid>> entityGroups)
{
// If there is only a single group. We will just directly list individual entities
if (entityGroups.Count == 1)
@@ -226,7 +229,7 @@ namespace Content.Client.ContextMenu.UI
/// <summary>
/// Given a group of entities, add a menu element that has a pop-up sub-menu listing group members
/// </summary>
private void AddGroupToUI(List<IEntity> group)
private void AddGroupToUI(List<EntityUid> group)
{
EntityMenuElement element = new();
ContextMenuPopup subMenu = new(this, element);
@@ -245,7 +248,7 @@ namespace Content.Client.ContextMenu.UI
/// <summary>
/// Remove an entity from the entity context menu.
/// </summary>
private void RemoveEntity(IEntity entity)
private void RemoveEntity(EntityUid entity)
{
// find the element associated with this entity
if (!Elements.TryGetValue(entity, out var element))
@@ -323,17 +326,17 @@ namespace Content.Client.ContextMenu.UI
/// <summary>
/// Recursively look through a sub-menu and return the first entity.
/// </summary>
private IEntity? GetFirstEntityOrNull(ContextMenuPopup? menu)
private EntityUid GetFirstEntityOrNull(ContextMenuPopup? menu)
{
if (menu == null)
return null;
return default;
foreach (var element in menu.MenuBody.Children)
{
if (element is not EntityMenuElement entityElement)
continue;
if (entityElement.Entity != null)
if (entityElement.Entity != default)
{
if (!((!IoCManager.Resolve<IEntityManager>().EntityExists(entityElement.Entity) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entityElement.Entity).EntityLifeStage) >= EntityLifeStage.Deleted))
return entityElement.Entity;
@@ -342,11 +345,11 @@ namespace Content.Client.ContextMenu.UI
// if the element has no entity, its a group of entities with another attached sub-menu.
var entity = GetFirstEntityOrNull(entityElement.SubMenu);
if (entity != null)
if (entity != default)
return entity;
}
return null;
return default;
}
public override void OpenSubMenu(ContextMenuElement element)

View File

@@ -4,7 +4,6 @@ using System.Linq;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Prototypes;
namespace Content.Client.ContextMenu.UI
{
@@ -18,7 +17,7 @@ namespace Content.Client.ContextMenu.UI
GroupingContextMenuType = obj;
}
private List<List<IEntity>> GroupEntities(IEnumerable<IEntity> entities, int depth = 0)
private List<List<EntityUid>> GroupEntities(IEnumerable<EntityUid> entities, int depth = 0)
{
if (GroupingContextMenuType == 0)
{
@@ -32,9 +31,9 @@ namespace Content.Client.ContextMenu.UI
}
}
private sealed class PrototypeAndStatesContextMenuComparer : IEqualityComparer<IEntity>
private sealed class PrototypeAndStatesContextMenuComparer : IEqualityComparer<EntityUid>
{
private static readonly List<Func<IEntity, IEntity, bool>> EqualsList = new()
private static readonly List<Func<EntityUid, EntityUid, bool>> EqualsList = new()
{
(a, b) => IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(a).EntityPrototype!.ID == IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(b).EntityPrototype!.ID,
(a, b) =>
@@ -51,7 +50,7 @@ namespace Content.Client.ContextMenu.UI
return xStates.OrderBy(t => t).SequenceEqual(yStates.OrderBy(t => t));
},
};
private static readonly List<Func<IEntity, int>> GetHashCodeList = new()
private static readonly List<Func<EntityUid, int>> GetHashCodeList = new()
{
e => EqualityComparer<string>.Default.GetHashCode(IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(e).EntityPrototype!.ID),
e =>
@@ -73,17 +72,17 @@ namespace Content.Client.ContextMenu.UI
_depth = step > Count ? Count : step;
}
public bool Equals(IEntity? x, IEntity? y)
public bool Equals(EntityUid x, EntityUid y)
{
if (x == null)
if (x == default)
{
return y == null;
return y == default;
}
return y != null && EqualsList[_depth](x, y);
return y != default && EqualsList[_depth](x, y);
}
public int GetHashCode(IEntity e)
public int GetHashCode(EntityUid e)
{
return GetHashCodeList[_depth](e);
}

View File

@@ -3,6 +3,7 @@ using Content.Shared.Conveyor;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Conveyor.Visualizers
@@ -21,7 +22,8 @@ namespace Content.Client.Conveyor.Visualizers
private void ChangeState(AppearanceComponent appearance)
{
if (!appearance.Owner.TryGetComponent(out ISpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(appearance.Owner, out ISpriteComponent? sprite))
{
return;
}
@@ -40,7 +42,7 @@ namespace Content.Client.Conveyor.Visualizers
}
}
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);

View File

@@ -2,6 +2,7 @@ using Content.Shared.MachineLinking;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Conveyor.Visualizers
@@ -20,7 +21,8 @@ namespace Content.Client.Conveyor.Visualizers
private void ChangeState(AppearanceComponent appearance)
{
if (!appearance.Owner.TryGetComponent(out ISpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(appearance.Owner, out ISpriteComponent? sprite))
{
return;
}
@@ -38,7 +40,7 @@ namespace Content.Client.Conveyor.Visualizers
sprite.LayerSetState(0, texture);
}
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);

View File

@@ -195,7 +195,7 @@ namespace Content.Client.Damage
public readonly string? Color;
}
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);
@@ -207,7 +207,7 @@ namespace Content.Client.Damage
InitializeVisualizer(entity, damageData);
}
private void VerifyVisualizerSetup(IEntity entity, DamageVisualizerDataComponent damageData)
private void VerifyVisualizerSetup(EntityUid entity, DamageVisualizerDataComponent damageData)
{
if (_thresholds.Count < 1)
{
@@ -289,7 +289,7 @@ namespace Content.Client.Damage
}
}
private void InitializeVisualizer(IEntity entity, DamageVisualizerDataComponent damageData)
private void InitializeVisualizer(EntityUid entity, DamageVisualizerDataComponent damageData)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out SpriteComponent? spriteComponent)
|| !IoCManager.Resolve<IEntityManager>().TryGetComponent<DamageableComponent?>(entity, out var damageComponent)
@@ -504,7 +504,8 @@ namespace Content.Client.Damage
public override void OnChangeData(AppearanceComponent component)
{
if (!component.Owner.TryGetComponent<DamageVisualizerDataComponent>(out var damageData))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out DamageVisualizerDataComponent damageData))
return;
if (!damageData.Valid)
@@ -525,8 +526,9 @@ namespace Content.Client.Damage
private void HandleDamage(AppearanceComponent component, DamageVisualizerDataComponent damageData)
{
if (!component.Owner.TryGetComponent<SpriteComponent>(out var spriteComponent)
|| !component.Owner.TryGetComponent<DamageableComponent>(out var damageComponent))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out SpriteComponent spriteComponent)
|| !entities.TryGetComponent(component.Owner, out DamageableComponent damageComponent))
return;
if (_targetLayers != null && _damageOverlayGroups != null)

View File

@@ -70,7 +70,8 @@ namespace Content.Client.Disposal.Visualizers
return;
}
if (!appearance.Owner.TryGetComponent(out ISpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(appearance.Owner, out ISpriteComponent? sprite))
{
return;
}
@@ -144,7 +145,7 @@ namespace Content.Client.Disposal.Visualizers
}
}
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);

View File

@@ -23,7 +23,8 @@ namespace Content.Client.Disposal.Visualizers
private void ChangeState(AppearanceComponent appearance)
{
if (!appearance.Owner.TryGetComponent(out ISpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(appearance.Owner, out ISpriteComponent? sprite))
{
return;
}
@@ -53,7 +54,7 @@ namespace Content.Client.Disposal.Visualizers
}
}
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);

View File

@@ -31,7 +31,7 @@ namespace Content.Client.DoAfter
/// </summary>
public const float ExcessTime = 0.5f;
private IEntity? _attachedEntity;
private EntityUid _attachedEntity;
public override void Initialize()
{
@@ -51,7 +51,7 @@ namespace Content.Client.DoAfter
var currentTime = _gameTiming.CurTime;
// Can't see any I guess?
if (_attachedEntity == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(_attachedEntity) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_attachedEntity).EntityLifeStage) >= EntityLifeStage.Deleted)
if (_attachedEntity == default || (!EntityManager.EntityExists(_attachedEntity) ? EntityLifeStage.Deleted : EntityManager.GetComponent<MetaDataComponent>(_attachedEntity).EntityLifeStage) >= EntityLifeStage.Deleted)
return;
var viewbox = _eyeManager.GetWorldViewport().Enlarged(2.0f);
@@ -59,23 +59,23 @@ namespace Content.Client.DoAfter
foreach (var comp in EntityManager.EntityQuery<DoAfterComponent>(true))
{
var doAfters = comp.DoAfters.ToList();
var compPos = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(comp.Owner).WorldPosition;
var compPos = EntityManager.GetComponent<TransformComponent>(comp.Owner).WorldPosition;
if (doAfters.Count == 0 ||
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(comp.Owner).MapID != IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_attachedEntity).MapID ||
EntityManager.GetComponent<TransformComponent>(comp.Owner).MapID != EntityManager.GetComponent<TransformComponent>(_attachedEntity).MapID ||
!viewbox.Contains(compPos))
{
comp.Disable();
continue;
}
var range = (compPos - IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_attachedEntity).WorldPosition).Length +
var range = (compPos - EntityManager.GetComponent<TransformComponent>(_attachedEntity).WorldPosition).Length +
0.01f;
if (comp.Owner != _attachedEntity &&
!ExamineSystemShared.InRangeUnOccluded(
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_attachedEntity).MapPosition,
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(comp.Owner).MapPosition, range,
EntityManager.GetComponent<TransformComponent>(_attachedEntity).MapPosition,
EntityManager.GetComponent<TransformComponent>(comp.Owner).MapPosition, range,
entity => entity == comp.Owner || entity == _attachedEntity))
{
comp.Disable();
@@ -84,7 +84,7 @@ namespace Content.Client.DoAfter
comp.Enable();
var userGrid = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(comp.Owner).Coordinates;
var userGrid = EntityManager.GetComponent<TransformComponent>(comp.Owner).Coordinates;
// Check cancellations / finishes
foreach (var (id, doAfter) in doAfters)
@@ -116,8 +116,8 @@ namespace Content.Client.DoAfter
if (doAfter.BreakOnTargetMove)
{
if (EntityManager.TryGetEntity(doAfter.TargetUid, out var targetEntity) &&
!IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(targetEntity).Coordinates.InRange(EntityManager, doAfter.TargetGrid,
if (EntityManager.EntityExists(doAfter.TargetUid) &&
!EntityManager.GetComponent<TransformComponent>(doAfter.TargetUid).Coordinates.InRange(EntityManager, doAfter.TargetGrid,
doAfter.MovementThreshold))
{
comp.Cancel(id, currentTime);

View File

@@ -27,7 +27,7 @@ namespace Content.Client.DoAfter.UI
// We'll store cancellations for a little bit just so we can flash the graphic to indicate it's cancelled
private readonly Dictionary<byte, TimeSpan> _cancelledDoAfters = new();
public IEntity? AttachedEntity { get; set; }
public EntityUid AttachedEntity { get; set; }
private ScreenCoordinates _playerPosition;
public DoAfterGui()
@@ -146,14 +146,8 @@ namespace Content.Client.DoAfter.UI
{
base.FrameUpdate(args);
IEntity? tempQualifier = AttachedEntity;
if (tempQualifier != null)
{
IoCManager.Resolve<IEntityManager>().EntityExists(tempQualifier);
}
if (RETURNED_VALUE != true ||
!IoCManager.Resolve<IEntityManager>().TryGetComponent(AttachedEntity, out DoAfterComponent? doAfterComponent))
if (!AttachedEntity.IsValid() ||
!_entityManager.TryGetComponent(AttachedEntity, out DoAfterComponent? doAfterComponent))
{
Visible = false;
return;

View File

@@ -1,8 +1,6 @@
using System;
using Content.Client.Wires.Visualizers;
using Content.Shared.Audio;
using Content.Shared.Doors;
using Content.Shared.Sound;
using JetBrains.Annotations;
using Robust.Client.Animations;
using Robust.Client.GameObjects;
@@ -110,7 +108,7 @@ namespace Content.Client.Doors
}
}
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
if (!IoCManager.Resolve<IEntityManager>().HasComponent<AnimationPlayerComponent>(entity))
{

View File

@@ -54,9 +54,9 @@ namespace Content.Client.DragDrop
// entity performing the drag action
private IEntity? _dragger;
private EntityUid _dragger;
private readonly List<IDraggable> _draggables = new();
private IEntity? _dragShadow;
private EntityUid _dragShadow;
// time since mouse down over the dragged entity
private float _mouseDownTime;
@@ -68,7 +68,7 @@ namespace Content.Client.DragDrop
// can ignore any events sent to this system
private bool _isReplaying;
private DragDropHelper<IEntity> _dragDropHelper = default!;
private DragDropHelper<EntityUid> _dragDropHelper = default!;
private ShaderInstance? _dropTargetInRangeShader;
private ShaderInstance? _dropTargetOutOfRangeShader;
@@ -77,7 +77,7 @@ namespace Content.Client.DragDrop
public override void Initialize()
{
_dragDropHelper = new DragDropHelper<IEntity>(OnBeginDrag, OnContinueDrag, OnEndDrag);
_dragDropHelper = new DragDropHelper<EntityUid>(OnBeginDrag, OnContinueDrag, OnEndDrag);
_dropTargetInRangeShader = _prototypeManager.Index<ShaderPrototype>(ShaderDropTargetInRange).Instance();
_dropTargetOutOfRangeShader = _prototypeManager.Index<ShaderPrototype>(ShaderDropTargetOutOfRange).Instance();
@@ -118,33 +118,32 @@ namespace Content.Client.DragDrop
private bool OnUseMouseDown(in PointerInputCmdHandler.PointerInputCmdArgs args)
{
if (args.Session?.AttachedEntity == null)
if (args.Session?.AttachedEntity is not {Valid: true} dragger)
{
return false;
}
var dragger = args.Session.AttachedEntity;
// cancel any current dragging if there is one (shouldn't be because they would've had to have lifted
// the mouse, canceling the drag, but just being cautious)
_dragDropHelper.EndDrag();
// possibly initiating a drag
// check if the clicked entity is draggable
if (!EntityManager.TryGetEntity(args.EntityUid, out var entity))
if (!EntityManager.EntityExists(args.EntityUid))
{
return false;
}
// check if the entity is reachable
if (!_interactionSystem.InRangeUnobstructed(dragger, entity))
if (!_interactionSystem.InRangeUnobstructed(dragger, args.EntityUid))
{
return false;
}
var canDrag = false;
foreach (var draggable in IoCManager.Resolve<IEntityManager>().GetComponents<IDraggable>(entity))
foreach (var draggable in EntityManager.GetComponents<IDraggable>(args.EntityUid))
{
var dragEventArgs = new StartDragDropEvent(dragger, entity);
var dragEventArgs = new StartDragDropEvent(dragger, args.EntityUid);
if (!draggable.CanStartDrag(dragEventArgs))
{
@@ -161,7 +160,7 @@ namespace Content.Client.DragDrop
}
// wait to initiate a drag
_dragDropHelper.MouseDown(entity);
_dragDropHelper.MouseDown(args.EntityUid);
_dragger = dragger;
_mouseDownTime = 0;
@@ -176,19 +175,19 @@ namespace Content.Client.DragDrop
private bool OnBeginDrag()
{
if (_dragDropHelper.Dragged == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(_dragDropHelper.Dragged) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_dragDropHelper.Dragged).EntityLifeStage) >= EntityLifeStage.Deleted)
if (_dragDropHelper.Dragged == default || (!EntityManager.EntityExists(_dragDropHelper.Dragged) ? EntityLifeStage.Deleted : EntityManager.GetComponent<MetaDataComponent>(_dragDropHelper.Dragged).EntityLifeStage) >= EntityLifeStage.Deleted)
{
// something happened to the clicked entity or we moved the mouse off the target so
// we shouldn't replay the original click
return false;
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<SpriteComponent?>(_dragDropHelper.Dragged, out var draggedSprite))
if (EntityManager.TryGetComponent<SpriteComponent?>(_dragDropHelper.Dragged, out var draggedSprite))
{
// pop up drag shadow under mouse
var mousePos = _eyeManager.ScreenToMap(_dragDropHelper.MouseScreenPosition);
_dragShadow = EntityManager.SpawnEntity("dragshadow", mousePos);
var dragSprite = IoCManager.Resolve<IEntityManager>().GetComponent<SpriteComponent>(_dragShadow);
var dragSprite = EntityManager.GetComponent<SpriteComponent>(_dragShadow);
dragSprite.CopyFrom(draggedSprite);
dragSprite.RenderOrder = EntityManager.CurrentTick.Value;
dragSprite.Color = dragSprite.Color.WithAlpha(0.7f);
@@ -196,7 +195,7 @@ namespace Content.Client.DragDrop
dragSprite.DrawDepth = (int) DrawDepth.Overlays;
if (!dragSprite.NoRotation)
{
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_dragShadow).WorldRotation = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_dragDropHelper.Dragged).WorldRotation;
EntityManager.GetComponent<TransformComponent>(_dragShadow).WorldRotation = EntityManager.GetComponent<TransformComponent>(_dragDropHelper.Dragged).WorldRotation;
}
HighlightTargets();
@@ -207,13 +206,13 @@ namespace Content.Client.DragDrop
}
Logger.Warning("Unable to display drag shadow for {0} because it" +
" has no sprite component.", IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_dragDropHelper.Dragged).EntityName);
" has no sprite component.", EntityManager.GetComponent<MetaDataComponent>(_dragDropHelper.Dragged).EntityName);
return false;
}
private bool OnContinueDrag(float frameTime)
{
if (_dragDropHelper.Dragged == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(_dragDropHelper.Dragged) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_dragDropHelper.Dragged).EntityLifeStage) >= EntityLifeStage.Deleted)
if (_dragDropHelper.Dragged == default || (!EntityManager.EntityExists(_dragDropHelper.Dragged) ? EntityLifeStage.Deleted : EntityManager.GetComponent<MetaDataComponent>(_dragDropHelper.Dragged).EntityLifeStage) >= EntityLifeStage.Deleted)
{
return false;
}
@@ -221,7 +220,7 @@ namespace Content.Client.DragDrop
DebugTools.AssertNotNull(_dragger);
// still in range of the thing we are dragging?
if (!_interactionSystem.InRangeUnobstructed(_dragger!, _dragDropHelper.Dragged))
if (!_interactionSystem.InRangeUnobstructed(_dragger, _dragDropHelper.Dragged))
{
return false;
}
@@ -230,10 +229,10 @@ namespace Content.Client.DragDrop
var mousePos = _eyeManager.ScreenToMap(_dragDropHelper.MouseScreenPosition);
// TODO: would use MapPosition instead if it had a setter, but it has no setter.
// is that intentional, or should we add a setter for Transform.MapPosition?
if (_dragShadow == null)
if (_dragShadow == default)
return false;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_dragShadow).WorldPosition = mousePos.Position;
EntityManager.GetComponent<TransformComponent>(_dragShadow).WorldPosition = mousePos.Position;
_targetRecheckTime += frameTime;
if (_targetRecheckTime > TargetRecheckInterval)
@@ -248,22 +247,22 @@ namespace Content.Client.DragDrop
private void OnEndDrag()
{
RemoveHighlights();
if (_dragShadow != null)
if (_dragShadow != default)
{
EntityManager.DeleteEntity(_dragShadow);
}
EntityManager.EventBus.RaiseEvent(EventSource.Local, new OutlineToggleMessage(true));
_dragShadow = null;
_dragShadow = default;
_draggables.Clear();
_dragger = null;
_dragger = default;
_mouseDownTime = 0;
_savedMouseDown = null;
}
private bool OnUseMouseUp(in PointerInputCmdHandler.PointerInputCmdArgs args)
{
if (_dragDropHelper.IsDragging == false || _dragDropHelper.Dragged == null)
if (_dragDropHelper.IsDragging == false || _dragDropHelper.Dragged == default)
{
// haven't started the drag yet, quick mouseup, definitely treat it as a normal click by
// replaying the original cmd
@@ -287,7 +286,7 @@ namespace Content.Client.DragDrop
return false;
}
if (_dragger == null)
if (_dragger == default)
{
_dragDropHelper.EndDrag();
return false;
@@ -295,7 +294,7 @@ namespace Content.Client.DragDrop
// now when ending the drag, we will not replay the click because
// by this time we've determined the input was actually a drag attempt
var range = (args.Coordinates.ToMapPos(EntityManager) - IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_dragger).MapPosition.Position).Length + 0.01f;
var range = (args.Coordinates.ToMapPos(EntityManager) - EntityManager.GetComponent<TransformComponent>(_dragger).MapPosition.Position).Length + 0.01f;
// tell the server we are dropping if we are over a valid drop target in range.
// We don't use args.EntityUid here because drag interactions generally should
// work even if there's something "on top" of the drop target
@@ -330,7 +329,7 @@ namespace Content.Client.DragDrop
if (!draggable.CanDrop(dropArgs)) continue;
// tell the server about the drop attempt
RaiseNetworkEvent(new DragDropRequestEvent(args.Coordinates, _dragDropHelper.Dragged!,
RaiseNetworkEvent(new DragDropRequestEvent(args.Coordinates, _dragDropHelper.Dragged,
entity));
draggable.Drop(dropArgs);
@@ -340,9 +339,11 @@ namespace Content.Client.DragDrop
}
}
if (outOfRange)
if (outOfRange &&
_playerManager.LocalPlayer?.ControlledEntity is { } player &&
player.IsValid())
{
_playerManager.LocalPlayer?.ControlledEntity?.PopupMessage(Loc.GetString("drag-drop-system-out-of-range-text"));
player.PopupMessage(Loc.GetString("drag-drop-system-out-of-range-text"));
}
_dragDropHelper.EndDrag();
@@ -351,10 +352,10 @@ namespace Content.Client.DragDrop
private void HighlightTargets()
{
if (_dragDropHelper.Dragged == null ||
(!IoCManager.Resolve<IEntityManager>().EntityExists(_dragDropHelper.Dragged) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_dragDropHelper.Dragged).EntityLifeStage) >= EntityLifeStage.Deleted ||
_dragShadow == null ||
(!IoCManager.Resolve<IEntityManager>().EntityExists(_dragShadow) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_dragShadow).EntityLifeStage) >= EntityLifeStage.Deleted)
if (_dragDropHelper.Dragged == default ||
(!EntityManager.EntityExists(_dragDropHelper.Dragged) ? EntityLifeStage.Deleted : EntityManager.GetComponent<MetaDataComponent>(_dragDropHelper.Dragged).EntityLifeStage) >= EntityLifeStage.Deleted ||
_dragShadow == default ||
(!EntityManager.EntityExists(_dragShadow) ? EntityLifeStage.Deleted : EntityManager.GetComponent<MetaDataComponent>(_dragShadow).EntityLifeStage) >= EntityLifeStage.Deleted)
{
Logger.Warning("Programming error. Can't highlight drag and drop targets, not currently " +
"dragging anything or dragged entity / shadow was deleted.");
@@ -374,12 +375,12 @@ namespace Content.Client.DragDrop
var pvsEntities = IoCManager.Resolve<IEntityLookup>().GetEntitiesIntersecting(_eyeManager.CurrentMap, bounds, LookupFlags.Approximate | LookupFlags.IncludeAnchored);
foreach (var pvsEntity in pvsEntities)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(pvsEntity, out ISpriteComponent? inRangeSprite) ||
if (!EntityManager.TryGetComponent(pvsEntity, out ISpriteComponent? inRangeSprite) ||
!inRangeSprite.Visible ||
pvsEntity == _dragDropHelper.Dragged) continue;
// check if it's able to be dropped on by current dragged entity
var dropArgs = new DragDropEvent(_dragger!, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(pvsEntity).Coordinates, _dragDropHelper.Dragged, pvsEntity);
var dropArgs = new DragDropEvent(_dragger, EntityManager.GetComponent<TransformComponent>(pvsEntity).Coordinates, _dragDropHelper.Dragged, pvsEntity);
var valid = ValidDragDrop(dropArgs);
if (valid == null) continue;
@@ -422,7 +423,7 @@ namespace Content.Client.DragDrop
bool? valid = null;
foreach (var comp in IoCManager.Resolve<IEntityManager>().GetComponents<IDragDropOn>(eventArgs.Target))
foreach (var comp in EntityManager.GetComponents<IDragDropOn>(eventArgs.Target))
{
if (!comp.CanDragDropOn(eventArgs))
{
@@ -440,7 +441,7 @@ namespace Content.Client.DragDrop
// Need at least one IDraggable to return true or else we can't do shit
valid = false;
foreach (var comp in IoCManager.Resolve<IEntityManager>().GetComponents<IDraggable>(eventArgs.User))
foreach (var comp in EntityManager.GetComponents<IDraggable>(eventArgs.User))
{
if (!comp.CanDrop(eventArgs)) continue;
valid = true;

View File

@@ -10,7 +10,6 @@ using Robust.Client.Graphics;
using Robust.Client.Player;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Shared.Containers;
using Robust.Shared.GameObjects;
using Robust.Shared.Input.Binding;
using Robust.Shared.IoC;
@@ -33,8 +32,8 @@ namespace Content.Client.Examine
public const string StyleClassEntityTooltip = "entity-tooltip";
private IEntity? _examinedEntity;
private IEntity? _playerEntity;
private EntityUid _examinedEntity;
private EntityUid _playerEntity;
private Popup? _examineTooltipOpen;
private CancellationTokenSource? _requestCancelTokenSource;
@@ -51,8 +50,8 @@ namespace Content.Client.Examine
public override void Update(float frameTime)
{
if (_examineTooltipOpen == null || !_examineTooltipOpen.Visible) return;
if (_examinedEntity == null || _playerEntity == null) return;
if (_examineTooltipOpen is not {Visible: true}) return;
if (!_examinedEntity.Valid || !_playerEntity.Valid) return;
if (!CanExamine(_playerEntity, _examinedEntity))
CloseTooltip();
@@ -64,7 +63,7 @@ namespace Content.Client.Examine
base.Shutdown();
}
public override bool CanExamine(IEntity examiner, MapCoordinates target, Ignored? predicate = null)
public override bool CanExamine(EntityUid examiner, MapCoordinates target, Ignored? predicate = null)
{
var b = _eyeManager.GetWorldViewbounds();
if (!b.Contains(target.Position))
@@ -73,16 +72,16 @@ namespace Content.Client.Examine
return base.CanExamine(examiner, target, predicate);
}
private bool HandleExamine(ICommonSession? session, EntityCoordinates coords, EntityUid uid)
private bool HandleExamine(ICommonSession? session, EntityCoordinates coords, EntityUid entity)
{
if (!uid.IsValid() || !EntityManager.TryGetEntity(uid, out var entity))
if (!entity.IsValid() || !EntityManager.EntityExists(entity))
{
return false;
}
_playerEntity = _playerManager.LocalPlayer?.ControlledEntity;
_playerEntity = _playerManager.LocalPlayer?.ControlledEntity ?? default;
if (_playerEntity == null || !CanExamine(_playerEntity, entity))
if (_playerEntity == default || !CanExamine(_playerEntity, entity))
{
return false;
}
@@ -104,7 +103,7 @@ namespace Content.Client.Examine
args.Verbs.Add(verb);
}
public async void DoExamine(IEntity entity)
public async void DoExamine(EntityUid entity)
{
// Close any examine tooltip that might already be opened
CloseTooltip();

View File

@@ -2,6 +2,7 @@ using Content.Shared.Explosion;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Explosion
@@ -17,7 +18,8 @@ namespace Content.Client.Explosion
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent<ISpriteComponent>(out var sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent<ISpriteComponent>(component.Owner, out var sprite))
{
return;
}

View File

@@ -27,7 +27,7 @@ namespace Content.Client.Flash
return;
// Yes, this code is awful. I'm just porting it to an entity system so don't blame me.
if (_playerManager.LocalPlayer != null && _playerManager.LocalPlayer.Session.AttachedEntityUid != uid)
if (_playerManager.LocalPlayer != null && _playerManager.LocalPlayer.Session.AttachedEntity != uid)
{
return;
}

View File

@@ -10,7 +10,6 @@ using Robust.Shared.Maths;
using Robust.Shared.Random;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Fluids
{
[UsedImplicitly]
@@ -21,7 +20,7 @@ namespace Content.Client.Fluids
// Whether the underlying solution color should be used
[DataField("recolor")] public bool Recolor;
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);
@@ -46,8 +45,9 @@ namespace Content.Client.Fluids
{
base.OnChangeData(component);
var entities = IoCManager.Resolve<IEntityManager>();
if (component.TryGetData<float>(PuddleVisuals.VolumeScale, out var volumeScale) &&
component.Owner.TryGetComponent<SpriteComponent>(out var spriteComponent))
entities.TryGetComponent<SpriteComponent>(component.Owner, out var spriteComponent))
{
var cappedScale = Math.Min(1.0f, volumeScale * 0.75f +0.25f);
UpdateVisual(component, spriteComponent, cappedScale);

View File

@@ -4,7 +4,6 @@ using Content.Shared.Ghost;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.Player;
using Robust.Client.UserInterface.Controls;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
@@ -36,7 +35,7 @@ namespace Content.Client.Ghost
foreach (var ghost in EntityManager.GetAllComponents(typeof(GhostComponent), true))
{
if (EntityManager.TryGetComponent(ghost.OwnerUid, out SpriteComponent? sprite))
if (EntityManager.TryGetComponent(ghost.Owner, out SpriteComponent? sprite))
{
sprite.Visible = value;
}
@@ -60,7 +59,7 @@ namespace Content.Client.Ghost
private void OnGhostInit(EntityUid uid, GhostComponent component, ComponentInit args)
{
if (EntityManager.TryGetComponent(component.OwnerUid, out SpriteComponent? sprite))
if (EntityManager.TryGetComponent(component.Owner, out SpriteComponent? sprite))
{
sprite.Visible = GhostVisibility;
}
@@ -101,7 +100,7 @@ namespace Content.Client.Ghost
private void OnGhostWarpsResponse(GhostWarpsResponseEvent msg)
{
var entity = _playerManager.LocalPlayer?.ControlledEntity?.Uid;
var entity = _playerManager.LocalPlayer?.ControlledEntity;
if (entity == null ||
!EntityManager.TryGetComponent(entity.Value, out GhostComponent? ghost))

View File

@@ -38,7 +38,7 @@ namespace Content.Client.Gravity
}
}
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);

View File

@@ -250,7 +250,7 @@ namespace Content.Client.Hands
/// The item being held in this hand.
/// </summary>
[ViewVariables]
public IEntity? HeldItem { get; }
public EntityUid HeldItem { get; }
/// <summary>
/// The button in the gui associated with this hand. Assumed to be set by gui shortly after being received from the client HandsComponent.
@@ -258,7 +258,7 @@ namespace Content.Client.Hands
[ViewVariables]
public HandButton HandButton { get; set; } = default!;
public GuiHand(string name, HandLocation handLocation, IEntity? heldItem)
public GuiHand(string name, HandLocation handLocation, EntityUid heldItem)
{
Name = name;
HandLocation = handLocation;

View File

@@ -1,24 +1,22 @@
using System;
using Content.Shared.Hands.Components;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.ResourceManagement;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Maths;
using System;
using System.Collections.Generic;
namespace Content.Client.Hands
{
[UsedImplicitly]
public class HandsVisualizer : AppearanceVisualizer
{
public override void OnChangeData(AppearanceComponent component)
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent<ISpriteComponent>(out var sprite)) return;
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent<ISpriteComponent>(component.Owner, out var sprite)) return;
if (!component.TryGetData(HandsVisuals.VisualState, out HandsVisualState visualState)) return;
foreach (HandLocation location in Enum.GetValues(typeof(HandLocation)))

View File

@@ -46,7 +46,7 @@ namespace Content.Client.Hands
var sys = EntitySystem.Get<HandsSystem>();
var handEntity = sys.GetActiveHandEntity();
if (handEntity == null || !_cfg.GetCVar(CCVars.HudHeldItemShow) || !IoCManager.Resolve<IEntityManager>().HasComponent<ISpriteComponent>(handEntity))
if (handEntity == default || !_cfg.GetCVar(CCVars.HudHeldItemShow) || !IoCManager.Resolve<IEntityManager>().HasComponent<ISpriteComponent>(handEntity))
return;
var screen = args.ScreenHandle;

View File

@@ -56,13 +56,13 @@ namespace Content.Client.Hands
private void HandlePickupAnimation(PickupAnimationMessage msg)
{
if (!EntityManager.TryGetEntity(msg.EntityUid, out var entity))
if (!msg.EntityUid.IsValid())
return;
if (!_gameTiming.IsFirstTimePredicted)
return;
ReusableAnimations.AnimateEntityPickup(entity, msg.InitialPosition, msg.FinalPosition);
ReusableAnimations.AnimateEntityPickup(msg.EntityUid, msg.InitialPosition, msg.FinalPosition);
}
public HandsGuiState GetGuiState()
@@ -77,10 +77,10 @@ namespace Content.Client.Hands
return new HandsGuiState(states, hands.ActiveHand);
}
public IEntity? GetActiveHandEntity()
public EntityUid GetActiveHandEntity()
{
if (GetPlayerHandsComponent() is not { ActiveHand: { } active } hands)
return null;
return default;
return hands.GetHand(active).HeldEntity;
}
@@ -89,7 +89,7 @@ namespace Content.Client.Hands
{
var player = _playerManager.LocalPlayer?.ControlledEntity;
if (player == null || !IoCManager.Resolve<IEntityManager>().TryGetComponent(player, out HandsComponent? hands))
if (player is not {Valid: true} || !EntityManager.TryGetComponent(player.Value, out HandsComponent? hands))
return null;
return hands;
@@ -106,7 +106,7 @@ namespace Content.Client.Hands
var pressedEntity = pressedHand.HeldEntity;
var activeEntity = activeHand.HeldEntity;
if (pressedHand == activeHand && activeEntity != null)
if (pressedHand == activeHand && activeEntity != default)
{
// use item in hand
// it will always be attack_self() in my heart.
@@ -114,21 +114,21 @@ namespace Content.Client.Hands
return;
}
if (pressedHand != activeHand && pressedEntity == null)
if (pressedHand != activeHand && pressedEntity == default)
{
// change active hand
RaiseNetworkEvent(new RequestSetHandEvent(handName));
return;
}
if (pressedHand != activeHand && pressedEntity != null && activeEntity != null)
if (pressedHand != activeHand && pressedEntity != default && activeEntity != default)
{
// use active item on held item
RaiseNetworkEvent(new ClientInteractUsingInHandMsg(pressedHand.Name));
return;
}
if (pressedHand != activeHand && pressedEntity != null && activeEntity == null)
if (pressedHand != activeHand && pressedEntity != default && activeEntity == default)
{
// use active item on held item
RaiseNetworkEvent(new MoveItemFromHandMsg(pressedHand.Name));

View File

@@ -17,7 +17,7 @@ namespace Content.Client.HealthOverlay
[Dependency] private readonly IEyeManager _eyeManager = default!;
private readonly Dictionary<EntityUid, HealthOverlayGui> _guis = new();
private IEntity? _attachedEntity;
private EntityUid _attachedEntity;
private bool _enabled;
public bool Enabled
@@ -55,7 +55,7 @@ namespace Content.Client.HealthOverlay
}
_guis.Clear();
_attachedEntity = null;
_attachedEntity = default;
}
private void HandlePlayerAttached(PlayerAttachSysMessage message)

View File

@@ -16,8 +16,9 @@ namespace Content.Client.HealthOverlay.UI
public class HealthOverlayGui : BoxContainer
{
[Dependency] private readonly IEyeManager _eyeManager = default!;
[Dependency] private readonly IEntityManager _entities = default!;
public HealthOverlayGui(IEntity entity)
public HealthOverlayGui(EntityUid entity)
{
IoCManager.InjectDependencies(this);
IoCManager.Resolve<IUserInterfaceManager>().StateRoot.AddChild(this);
@@ -62,7 +63,7 @@ namespace Content.Client.HealthOverlay.UI
public HealthOverlayBar CritBar { get; }
public IEntity Entity { get; }
public EntityUid Entity { get; }
public void SetVisibility(bool val)
{
@@ -72,13 +73,13 @@ namespace Content.Client.HealthOverlay.UI
private void MoreFrameUpdate(FrameEventArgs args)
{
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Entity) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Entity).EntityLifeStage) >= EntityLifeStage.Deleted)
if ((!_entities.EntityExists(Entity) ? EntityLifeStage.Deleted : _entities.GetComponent<MetaDataComponent>(Entity).EntityLifeStage) >= EntityLifeStage.Deleted)
{
return;
}
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(Entity, out MobStateComponent? mobState) ||
!IoCManager.Resolve<IEntityManager>().TryGetComponent(Entity, out DamageableComponent? damageable))
if (!_entities.TryGetComponent(Entity, out MobStateComponent? mobState) ||
!_entities.TryGetComponent(Entity, out DamageableComponent? damageable))
{
CritBar.Visible = false;
HealthBar.Visible = false;
@@ -138,8 +139,8 @@ namespace Content.Client.HealthOverlay.UI
MoreFrameUpdate(args);
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Entity) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Entity).EntityLifeStage) >= EntityLifeStage.Deleted ||
_eyeManager.CurrentMap != IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Entity).MapID)
if ((!_entities.EntityExists(Entity) ? EntityLifeStage.Deleted : _entities.GetComponent<MetaDataComponent>(Entity).EntityLifeStage) >= EntityLifeStage.Deleted ||
_eyeManager.CurrentMap != _entities.GetComponent<TransformComponent>(Entity).MapID)
{
Visible = false;
return;
@@ -147,7 +148,7 @@ namespace Content.Client.HealthOverlay.UI
Visible = true;
var screenCoordinates = _eyeManager.CoordinatesToScreen(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Entity).Coordinates);
var screenCoordinates = _eyeManager.CoordinatesToScreen(_entities.GetComponent<TransformComponent>(Entity).Coordinates);
var playerPosition = UserInterfaceManager.ScreenToUIPosition(screenCoordinates);
LayoutContainer.SetPosition(this, new Vector2(playerPosition.X - Width / 2, playerPosition.Y - Height - 30.0f));
}

View File

@@ -51,12 +51,12 @@ namespace Content.Client.IconSmoothing
// Yes, we updates ALL smoothing entities surrounding us even if they would never smooth with us.
// This is simpler to implement. If you want to optimize it be my guest.
var senderEnt = ev.Sender;
if (IoCManager.Resolve<IEntityManager>().EntityExists(senderEnt) &&
_mapManager.TryGetGrid(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(senderEnt).GridID, out var grid1) &&
IoCManager.Resolve<IEntityManager>().TryGetComponent(senderEnt, out IconSmoothComponent? iconSmooth)
if (EntityManager.EntityExists(senderEnt) &&
_mapManager.TryGetGrid(EntityManager.GetComponent<TransformComponent>(senderEnt).GridID, out var grid1) &&
EntityManager.TryGetComponent(senderEnt, out IconSmoothComponent? iconSmooth)
&& iconSmooth.Running)
{
var coords = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(senderEnt).Coordinates;
var coords = EntityManager.GetComponent<TransformComponent>(senderEnt).Coordinates;
_dirtyEntities.Enqueue(senderEnt);
AddValidEntities(grid1.GetInDir(coords, Direction.North));
@@ -130,7 +130,7 @@ namespace Content.Client.IconSmoothing
/// </summary>
public sealed class IconSmoothDirtyEvent : EntityEventArgs
{
public IconSmoothDirtyEvent(IEntity sender, (GridId grid, Vector2i pos)? lastPosition, IconSmoothingMode mode)
public IconSmoothDirtyEvent(EntityUid sender, (GridId grid, Vector2i pos)? lastPosition, IconSmoothingMode mode)
{
LastPosition = lastPosition;
Mode = mode;
@@ -139,6 +139,6 @@ namespace Content.Client.IconSmoothing
public (GridId grid, Vector2i pos)? LastPosition { get; }
public IconSmoothingMode Mode { get; }
public IEntity Sender { get; }
public EntityUid Sender { get; }
}
}

View File

@@ -135,11 +135,11 @@ namespace Content.Client.Instruments.UI
var instrument = _owner.Instrument;
// If either the entity or component are null, return.
if (instrumentEnt == null || instrument == null)
if (instrumentEnt == default || instrument == default)
return false;
// If we're a handheld instrument, we might be in a container. Get it just in case.
instrumentEnt.TryGetContainerMan(out var conMan);
instrumentEnt.Value.TryGetContainerMan(out var conMan);
var localPlayer = IoCManager.Resolve<IPlayerManager>().LocalPlayer;
@@ -151,7 +151,7 @@ namespace Content.Client.Instruments.UI
|| conMan.Owner != localPlayer.ControlledEntity))) return false;
// We check that we're in range unobstructed just in case.
return localPlayer.InRangeUnobstructed(instrumentEnt,
return localPlayer.InRangeUnobstructed(instrumentEnt.Value,
predicate: (e) => e == instrumentEnt || e == localPlayer.ControlledEntity);
}

View File

@@ -9,10 +9,10 @@ namespace Content.Client.Interactable
{
public override bool CanAccessViaStorage(EntityUid user, EntityUid target)
{
if (!EntityManager.TryGetEntity(target, out var entity))
if (!EntityManager.EntityExists(target))
return false;
if (!entity.TryGetContainer(out var container))
if (!target.TryGetContainer(out var container))
return false;
if (!EntityManager.TryGetComponent(container.Owner, out ClientStorageComponent storage))

View File

@@ -15,7 +15,7 @@ namespace Content.Client.Interactable
public static bool InRangeUnobstructed(
this LocalPlayer origin,
IEntity other,
EntityUid other,
float range = InteractionRange,
CollisionGroup collisionMask = CollisionGroup.Impassable,
Ignored? predicate = null,
@@ -78,7 +78,7 @@ namespace Content.Client.Interactable
bool popup = false)
{
var originEntity = origin.ControlledEntity;
if (originEntity == null)
if (originEntity == default)
{
// TODO: Take into account the player's camera position?
return false;

View File

@@ -3,9 +3,7 @@ using System.Diagnostics.CodeAnalysis;
using System.Linq;
using Content.Client.Clothing;
using Content.Shared.CharacterAppearance;
using Content.Shared.Chemistry;
using Content.Shared.Inventory;
using Content.Shared.Movement.Components;
using Content.Shared.Movement.EntitySystems;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
@@ -24,9 +22,9 @@ namespace Content.Client.Inventory
[ComponentReference(typeof(SharedInventoryComponent))]
public class ClientInventoryComponent : SharedInventoryComponent
{
private readonly Dictionary<Slots, IEntity> _slots = new();
private readonly Dictionary<Slots, EntityUid> _slots = new();
public IReadOnlyDictionary<Slots, IEntity> AllSlots => _slots;
public IReadOnlyDictionary<Slots, EntityUid> AllSlots => _slots;
[ViewVariables] public InventoryInterfaceController InterfaceController { get; private set; } = default!;
@@ -78,9 +76,9 @@ namespace Content.Client.Inventory
}
}
public override bool IsEquipped(IEntity item)
public override bool IsEquipped(EntityUid item)
{
return item != null && _slots.Values.Any(e => e == item);
return item != default && _slots.Values.Any(e => e == item);
}
public override void HandleComponentState(ComponentState? curState, ComponentState? nextState)
@@ -92,9 +90,9 @@ namespace Content.Client.Inventory
var doneSlots = new HashSet<Slots>();
foreach (var (slot, entityUid) in state.Entities)
foreach (var (slot, entity) in state.Entities)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetEntity(entityUid, out var entity))
if (!IoCManager.Resolve<IEntityManager>().EntityExists(entity))
{
continue;
}
@@ -108,9 +106,7 @@ namespace Content.Client.Inventory
if (state.HoverEntity != null)
{
var (slot, (entityUid, fits)) = state.HoverEntity.Value;
var entity = IoCManager.Resolve<IEntityManager>().GetEntity(entityUid);
var (slot, (entity, fits)) = state.HoverEntity.Value;
InterfaceController?.HoverInSlot(slot, entity, fits);
}
@@ -126,14 +122,14 @@ namespace Content.Client.Inventory
EntitySystem.Get<MovementSpeedModifierSystem>().RefreshMovementSpeedModifiers(((IComponent) this).Owner);
}
private void _setSlot(Slots slot, IEntity entity)
private void _setSlot(Slots slot, EntityUid entity)
{
SetSlotVisuals(slot, entity);
InterfaceController?.AddToSlot(slot, entity);
}
internal void SetSlotVisuals(Slots slot, IEntity entity)
internal void SetSlotVisuals(Slots slot, EntityUid entity)
{
if (_sprite == null)
{
@@ -230,12 +226,12 @@ namespace Content.Client.Inventory
_playerAttached = true;
}
public bool TryGetSlot(Slots slot, [NotNullWhen(true)] out IEntity? item)
public bool TryGetSlot(Slots slot, [NotNullWhen(true)] out EntityUid item)
{
return _slots.TryGetValue(slot, out item);
}
public bool TryFindItemSlots(IEntity item, [NotNullWhen(true)] out Slots? slots)
public bool TryFindItemSlots(EntityUid item, [NotNullWhen(true)] out Slots? slots)
{
slots = null;

View File

@@ -1,5 +1,4 @@
using Content.Client.HUD;
using Content.Client.Items.Components;
using Content.Shared.Input;
using Content.Shared.Inventory;
using Content.Shared.Movement.EntitySystems;
@@ -36,7 +35,7 @@ namespace Content.Client.Inventory
// jesus christ, this is duplicated to server/client, should really just be shared..
private void OnSlipAttemptEvent(EntityUid uid, ClientInventoryComponent component, SlipAttemptEvent args)
{
if (component.TryGetSlot(EquipmentSlotDefines.Slots.SHOES, out IEntity? shoes))
if (component.TryGetSlot(EquipmentSlotDefines.Slots.SHOES, out EntityUid shoes))
{
RaiseLocalEvent(shoes, args, false);
}
@@ -46,7 +45,7 @@ namespace Content.Client.Inventory
{
foreach (var (_, ent) in component.AllSlots)
{
if (ent != null)
if (ent != default)
{
RaiseLocalEvent(ent, args, false);
}

View File

@@ -3,10 +3,8 @@ using System.Linq;
using Content.Client.HUD;
using Content.Client.Items.Managers;
using Content.Client.Items.UI;
using Content.Shared;
using Content.Shared.CCVar;
using JetBrains.Annotations;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
@@ -15,7 +13,6 @@ using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Localization;
using Robust.Shared.Maths;
using Robust.Shared.Prototypes;
using static Content.Shared.Inventory.EquipmentSlotDefines;
using static Robust.Client.UserInterface.Controls.BoxContainer;
@@ -155,7 +152,7 @@ namespace Content.Client.Inventory
return buttons;
}
public override void AddToSlot(Slots slot, IEntity entity)
public override void AddToSlot(Slots slot, EntityUid entity)
{
base.AddToSlot(slot, entity);
@@ -184,7 +181,7 @@ namespace Content.Client.Inventory
}
}
public override void HoverInSlot(Slots slot, IEntity entity, bool fits)
public override void HoverInSlot(Slots slot, EntityUid entity, bool fits)
{
base.HoverInSlot(slot, entity, fits);
@@ -213,7 +210,7 @@ namespace Content.Client.Inventory
private void ClearButton(ItemSlotButton button, Slots slot)
{
button.OnPressed = (e) => AddToInventory(e, slot);
_itemSlotManager.SetItemSlot(button, null);
_itemSlotManager.SetItemSlot(button, default);
}
public override void PlayerAttached()

View File

@@ -46,11 +46,11 @@ namespace Content.Client.Inventory
/// specified slot, if any. Empty if none.</returns>
public abstract IEnumerable<ItemSlotButton> GetItemSlotButtons(EquipmentSlotDefines.Slots slot);
public virtual void AddToSlot(EquipmentSlotDefines.Slots slot, IEntity entity)
public virtual void AddToSlot(EquipmentSlotDefines.Slots slot, EntityUid entity)
{
}
public virtual void HoverInSlot(EquipmentSlotDefines.Slots slot, IEntity entity, bool fits)
public virtual void HoverInSlot(EquipmentSlotDefines.Slots slot, EntityUid entity, bool fits)
{
}

View File

@@ -7,10 +7,10 @@ namespace Content.Client.Items.Managers
{
public interface IItemSlotManager
{
bool OnButtonPressed(GUIBoundKeyEventArgs args, IEntity? item);
void UpdateCooldown(ItemSlotButton? cooldownTexture, IEntity? entity);
bool SetItemSlot(ItemSlotButton button, IEntity? entity);
void HoverInSlot(ItemSlotButton button, IEntity? entity, bool fits);
bool OnButtonPressed(GUIBoundKeyEventArgs args, EntityUid item);
void UpdateCooldown(ItemSlotButton? cooldownTexture, EntityUid entity);
bool SetItemSlot(ItemSlotButton button, EntityUid entity);
void HoverInSlot(ItemSlotButton button, EntityUid entity, bool fits);
event Action<EntitySlotHighlightedEventArgs>? EntityHighlightedUpdated;
bool IsHighlighted(EntityUid uid);

View File

@@ -9,12 +9,8 @@ using Content.Shared.Hands.Components;
using Content.Shared.Input;
using Content.Shared.Interaction;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.Input;
using Robust.Client.Player;
using Robust.Client.UserInterface;
using Robust.Shared.GameObjects;
using Robust.Shared.Input;
using Robust.Shared.IoC;
using Robust.Shared.Map;
using Robust.Shared.Maths;
@@ -32,9 +28,9 @@ namespace Content.Client.Items.Managers
public event Action<EntitySlotHighlightedEventArgs>? EntityHighlightedUpdated;
public bool SetItemSlot(ItemSlotButton button, IEntity? entity)
public bool SetItemSlot(ItemSlotButton button, EntityUid entity)
{
if (entity == null)
if (entity == default)
{
button.SpriteView.Sprite = null;
button.StorageButton.Visible = false;
@@ -42,31 +38,31 @@ namespace Content.Client.Items.Managers
else
{
ISpriteComponent? sprite;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out HandVirtualItemComponent? virtPull)
if (_entityManager.TryGetComponent(entity, out HandVirtualItemComponent? virtPull)
&& _entityManager.TryGetComponent(virtPull.BlockingEntity, out ISpriteComponent pulledSprite))
{
sprite = pulledSprite;
}
else if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out sprite))
else if (!_entityManager.TryGetComponent(entity, out sprite))
{
return false;
}
button.ClearHover();
button.SpriteView.Sprite = sprite;
button.StorageButton.Visible = IoCManager.Resolve<IEntityManager>().HasComponent<ClientStorageComponent>(entity);
button.StorageButton.Visible = _entityManager.HasComponent<ClientStorageComponent>(entity);
}
button.Entity = entity ?? default;
button.Entity = entity;
// im lazy
button.UpdateSlotHighlighted();
return true;
}
public bool OnButtonPressed(GUIBoundKeyEventArgs args, IEntity? item)
public bool OnButtonPressed(GUIBoundKeyEventArgs args, EntityUid item)
{
if (item == null)
if (item == default)
return false;
if (args.Function == ContentKeyFunctions.ExamineEntity)
@@ -94,7 +90,7 @@ namespace Content.Client.Items.Managers
return true;
}
public void UpdateCooldown(ItemSlotButton? button, IEntity? entity)
public void UpdateCooldown(ItemSlotButton? button, EntityUid entity)
{
var cooldownDisplay = button?.CooldownDisplay;
@@ -103,9 +99,9 @@ namespace Content.Client.Items.Managers
return;
}
if (entity == null ||
(!IoCManager.Resolve<IEntityManager>().EntityExists(entity) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityLifeStage) >= EntityLifeStage.Deleted ||
!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out ItemCooldownComponent? cooldown) ||
if (entity == default ||
(!_entityManager.EntityExists(entity) ? EntityLifeStage.Deleted : _entityManager.GetComponent<MetaDataComponent>(entity).EntityLifeStage) >= EntityLifeStage.Deleted ||
!_entityManager.TryGetComponent(entity, out ItemCooldownComponent? cooldown) ||
!cooldown.CooldownStart.HasValue ||
!cooldown.CooldownEnd.HasValue)
{
@@ -124,23 +120,23 @@ namespace Content.Client.Items.Managers
cooldownDisplay.Visible = ratio > -1f;
}
public void HoverInSlot(ItemSlotButton button, IEntity? entity, bool fits)
public void HoverInSlot(ItemSlotButton button, EntityUid entity, bool fits)
{
if (entity == null || !button.MouseIsHovering)
if (entity == default || !button.MouseIsHovering)
{
button.ClearHover();
return;
}
if (!IoCManager.Resolve<IEntityManager>().HasComponent<SpriteComponent>(entity))
if (!_entityManager.HasComponent<SpriteComponent>(entity))
{
return;
}
// Set green / red overlay at 50% transparency
var hoverEntity = _entityManager.SpawnEntity("hoverentity", MapCoordinates.Nullspace);
var hoverSprite = IoCManager.Resolve<IEntityManager>().GetComponent<SpriteComponent>(hoverEntity);
hoverSprite.CopyFrom(IoCManager.Resolve<IEntityManager>().GetComponent<SpriteComponent>(entity));
var hoverSprite = _entityManager.GetComponent<SpriteComponent>(hoverEntity);
hoverSprite.CopyFrom(_entityManager.GetComponent<SpriteComponent>(entity));
hoverSprite.Color = fits ? new Color(0, 255, 0, 127) : new Color(255, 0, 0, 127);
button.HoverSpriteView.Sprite = hoverSprite;

View File

@@ -142,7 +142,7 @@ namespace Content.Client.Items.UI
ISpriteComponent? tempQualifier = HoverSpriteView.Sprite;
if (tempQualifier != null)
{
IoCManager.Resolve<IEntityManager>().DeleteEntity((EntityUid) tempQualifier.Owner);
IoCManager.Resolve<IEntityManager>().DeleteEntity(tempQualifier.Owner);
}
HoverSpriteView.Sprite = null;

View File

@@ -33,7 +33,7 @@ namespace Content.Client.Items.UI
private readonly PanelContainer _panel;
[ViewVariables]
private IEntity? _entity;
private EntityUid _entity;
public ItemStatusPanel(Texture texture, StyleBox.Margin cutout, StyleBox.Margin flat, Label.AlignMode textAlign)
{
@@ -130,12 +130,12 @@ namespace Content.Client.Items.UI
UpdateItemName();
}
public void Update(IEntity? entity)
public void Update(EntityUid entity)
{
if (entity == null)
if (entity == default)
{
ClearOldStatus();
_entity = null;
_entity = default;
_panel.Visible = false;
return;
}
@@ -153,17 +153,17 @@ namespace Content.Client.Items.UI
private void UpdateItemName()
{
if (_entity == null)
if (_entity == default)
return;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(_entity, out HandVirtualItemComponent? virtualItem)
&& _entityManager.TryGetEntity(virtualItem.BlockingEntity, out var blockEnt))
if (_entityManager.TryGetComponent(_entity, out HandVirtualItemComponent? virtualItem)
&& _entityManager.EntityExists(virtualItem.BlockingEntity))
{
_itemNameLabel.Text = IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(blockEnt).EntityName;
_itemNameLabel.Text = _entityManager.GetComponent<MetaDataComponent>(virtualItem.BlockingEntity).EntityName;
}
else
{
_itemNameLabel.Text = IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_entity).EntityName;
_itemNameLabel.Text = _entityManager.GetComponent<MetaDataComponent>(_entity).EntityName;
}
}
@@ -185,7 +185,7 @@ namespace Content.Client.Items.UI
ClearOldStatus();
foreach (var statusComponent in IoCManager.Resolve<IEntityManager>().GetComponents<IItemStatus>(_entity!))
foreach (var statusComponent in _entityManager.GetComponents<IItemStatus>(_entity))
{
var control = statusComponent.MakeControl();
_statusContents.AddChild(control);
@@ -194,7 +194,7 @@ namespace Content.Client.Items.UI
}
var collectMsg = new ItemStatusCollectMessage();
IoCManager.Resolve<IEntityManager>().EventBus.RaiseLocalEvent(_entity, collectMsg);
_entityManager.EventBus.RaiseLocalEvent(_entity, collectMsg);
foreach (var control in collectMsg.Controls)
{

View File

@@ -76,7 +76,7 @@ namespace Content.Client.Kitchen.UI
BeakerContentBox.EjectButton.Disabled = true;
ChamberContentBox.EjectButton.Disabled = true;
break;
case SharedReagentGrinderComponent.ReagentGrinderWorkCompleteMessage doneMessage:
case SharedReagentGrinderComponent.ReagentGrinderWorkCompleteMessage:
GrindButton.Disabled = false;
JuiceButton.Disabled = false;
GrindButton.Modulate = Color.White;
@@ -93,9 +93,9 @@ namespace Content.Client.Kitchen.UI
_chamberVisualContents.Clear();
ChamberContentBox.BoxContents.Clear();
foreach (var uid in containedSolids)
foreach (var entity in containedSolids)
{
if (!_entityManager.TryGetEntity(uid, out var entity))
if (!_entityManager.EntityExists(entity))
{
return;
}
@@ -103,7 +103,7 @@ namespace Content.Client.Kitchen.UI
var solidItem = ChamberContentBox.BoxContents.AddItem(IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityName, texture);
var solidIndex = ChamberContentBox.BoxContents.IndexOf(solidItem);
_chamberVisualContents.Add(solidIndex, uid);
_chamberVisualContents.Add(solidIndex, entity);
}
//Refresh beaker contents

View File

@@ -108,24 +108,24 @@ namespace Content.Client.Kitchen.UI
_solids.Clear();
_menu.IngredientsList.Clear();
foreach (var t in containedSolids)
foreach (var entity in containedSolids)
{
if (!_entityManager.TryGetEntity(t, out var entity))
if (!_entityManager.EntityExists(entity))
{
return;
}
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityLifeStage) >= EntityLifeStage.Deleted)
if ((!_entityManager.EntityExists(entity) ? EntityLifeStage.Deleted : _entityManager.GetComponent<MetaDataComponent>(entity).EntityLifeStage) >= EntityLifeStage.Deleted)
{
continue;
}
Texture? texture;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out IconComponent? iconComponent))
if (_entityManager.TryGetComponent(entity, out IconComponent? iconComponent))
{
texture = iconComponent.Icon?.Default;
}
else if (IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out SpriteComponent? spriteComponent))
else if (_entityManager.TryGetComponent(entity, out SpriteComponent? spriteComponent))
{
texture = spriteComponent.Icon?.Default;
}
@@ -134,9 +134,9 @@ namespace Content.Client.Kitchen.UI
continue;
}
var solidItem = _menu.IngredientsList.AddItem(IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityName, texture);
var solidItem = _menu.IngredientsList.AddItem(_entityManager.GetComponent<MetaDataComponent>(entity).EntityName, texture);
var solidIndex = _menu.IngredientsList.IndexOf(solidItem);
_solids.Add(solidIndex, t);
_solids.Add(solidIndex, entity);
}
}
}

View File

@@ -1,6 +1,7 @@
using Content.Shared.Kudzu;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Kudzu;
@@ -14,7 +15,8 @@ public class KudzuVisualizer : AppearanceVisualizer
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out SpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out SpriteComponent? sprite))
{
return;
}

View File

@@ -48,7 +48,7 @@ namespace Content.Client.Lathe.Visualizers
return animation;
}
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
if (!IoCManager.Resolve<IEntityManager>().HasComponent<AnimationPlayerComponent>(entity))
{

View File

@@ -48,7 +48,7 @@ namespace Content.Client.Lathe.Visualizers
return animation;
}
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
if (!IoCManager.Resolve<IEntityManager>().HasComponent<AnimationPlayerComponent>(entity))
{

View File

@@ -51,9 +51,9 @@ namespace Content.Client.Light.Components
[ViewVariables] protected float MaxTime { get; set; }
private float _maxTime = default;
private IEntity _parent = default!;
private EntityUid _parent = default!;
public void Initialize(IEntity parent, IRobustRandom random)
public void Initialize(EntityUid parent, IRobustRandom random)
{
_random = random;
_parent = parent;
@@ -128,7 +128,7 @@ namespace Content.Client.Light.Components
if (Property == "Enabled") // special case for boolean
{
ApplyProperty(interpolateValue < 0.5f? true : false);
ApplyProperty(interpolateValue < 0.5f);
return (-1, playingTime);
}
@@ -183,7 +183,7 @@ namespace Content.Client.Light.Components
if (Property == "Enabled") // special case for boolean
{
ApplyProperty(interpolateValue < EndValue? true : false);
ApplyProperty(interpolateValue < EndValue);
return (-1, playingTime);
}
@@ -258,7 +258,7 @@ namespace Content.Client.Light.Components
ApplyProperty(InterpolateLinear(_randomValue3, _randomValue4, interpolateValue));
break;
case AnimationInterpolationMode.Cubic:
ApplyProperty(InterpolateCubic(_randomValue1!, _randomValue2, _randomValue3, _randomValue4, interpolateValue));
ApplyProperty(InterpolateCubic(_randomValue1, _randomValue2, _randomValue3, _randomValue4, interpolateValue));
break;
default:
case AnimationInterpolationMode.Nearest:

View File

@@ -1,6 +1,7 @@
using Content.Shared.Light.Component;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Light.Visualizers
@@ -12,7 +13,8 @@ namespace Content.Client.Light.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out SpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out SpriteComponent? sprite))
return;
if (!component.TryGetData(EmergencyLightVisuals.On, out bool on))

View File

@@ -1,10 +1,10 @@
using System;
using Content.Client.Light.Components;
using Content.Client.Light.Components;
using Content.Shared.Light.Component;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.Audio;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Player;
namespace Content.Client.Light.Visualizers
@@ -16,9 +16,10 @@ namespace Content.Client.Light.Visualizers
{
base.OnChangeData(component);
var entities = IoCManager.Resolve<IEntityManager>();
if (component.TryGetData(ExpendableLightVisuals.Behavior, out string lightBehaviourID))
{
if (component.Owner.TryGetComponent<LightBehaviourComponent>(out var lightBehaviour))
if (entities.TryGetComponent(component.Owner, out LightBehaviourComponent lightBehaviour))
{
lightBehaviour.StopLightBehaviour();
@@ -26,7 +27,7 @@ namespace Content.Client.Light.Visualizers
{
lightBehaviour.StartLightBehaviour(lightBehaviourID);
}
else if (component.Owner.TryGetComponent<PointLightComponent>(out var light))
else if (entities.TryGetComponent(component.Owner, out PointLightComponent light))
{
light.Enabled = false;
}
@@ -39,7 +40,7 @@ namespace Content.Client.Light.Visualizers
}
if (component.TryGetData(ExpendableLightVisuals.State, out ExpendableLightState state)
&& component.Owner.TryGetComponent<ExpendableLightComponent>(out var expendableLight))
&& entities.TryGetComponent(component.Owner, out ExpendableLightComponent expendableLight))
{
switch (state)
{

View File

@@ -2,6 +2,7 @@ using Content.Shared.Light;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Maths;
namespace Content.Client.Light.Visualizers
@@ -13,7 +14,8 @@ namespace Content.Client.Light.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent<SpriteComponent>(out var sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out SpriteComponent sprite))
return;
// update sprite state

View File

@@ -7,7 +7,6 @@ using Robust.Client.GameObjects;
using Robust.Shared.Animations;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Maths;
using Robust.Shared.Random;
using Robust.Shared.Serialization.Manager.Attributes;
@@ -28,7 +27,8 @@ namespace Content.Client.Light.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite)) return;
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite)) return;
if (!component.TryGetData(PoweredLightVisuals.BulbState, out PoweredLightState state)) return;
switch (state)

View File

@@ -23,7 +23,7 @@ namespace Content.Client.Lobby.UI
public class LobbyCharacterPreviewPanel : Control
{
private readonly IClientPreferencesManager _preferencesManager;
private IEntity _previewDummy;
private EntityUid _previewDummy;
private readonly Label _summaryLabel;
private readonly BoxContainer _loaded;
private readonly Label _unloaded;
@@ -98,11 +98,11 @@ namespace Content.Client.Lobby.UI
_preferencesManager.OnServerDataLoaded -= UpdateUI;
if (!disposing) return;
IoCManager.Resolve<IEntityManager>().DeleteEntity((EntityUid) _previewDummy);
_previewDummy = null!;
IoCManager.Resolve<IEntityManager>().DeleteEntity(_previewDummy);
_previewDummy = default;
}
private static SpriteView MakeSpriteView(IEntity entity, Direction direction)
private static SpriteView MakeSpriteView(EntityUid entity, Direction direction)
{
return new()
{
@@ -136,7 +136,7 @@ namespace Content.Client.Lobby.UI
}
}
public static void GiveDummyJobClothes(IEntity dummy, HumanoidCharacterProfile profile)
public static void GiveDummyJobClothes(EntityUid dummy, HumanoidCharacterProfile profile)
{
var protoMan = IoCManager.Resolve<IPrototypeManager>();
@@ -144,6 +144,7 @@ namespace Content.Client.Lobby.UI
var highPriorityJob = profile.JobPriorities.FirstOrDefault(p => p.Value == JobPriority.High).Key;
// ReSharper disable once ConstantNullCoalescingCondition
var job = protoMan.Index<JobPrototype>(highPriorityJob ?? SharedGameTicker.FallbackOverflowJob);
inventory.ClearAllSlotVisuals();
@@ -160,7 +161,7 @@ namespace Content.Client.Lobby.UI
{
var item = entityMan.SpawnEntity(itemType, MapCoordinates.Nullspace);
inventory.SetSlotVisuals(slot, item);
IoCManager.Resolve<IEntityManager>().DeleteEntity((EntityUid) item);
IoCManager.Resolve<IEntityManager>().DeleteEntity(item);
}
}
}

View File

@@ -13,7 +13,7 @@ namespace Content.Client.MachineLinking
[DataField("layer")]
private int Layer { get; }
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);
@@ -27,7 +27,8 @@ namespace Content.Client.MachineLinking
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out SpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out SpriteComponent? sprite))
{
return;
}

View File

@@ -1,17 +1,15 @@
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Robust.Client.UserInterface.Controls;
using System.Text;
using Content.Shared.Damage.Prototypes;
using Content.Shared.FixedPoint;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Localization;
using Robust.Shared.Prototypes;
using static Content.Shared.MedicalScanner.SharedMedicalScannerComponent;
using Content.Shared.Damage.Prototypes;
using Content.Shared.FixedPoint;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.MedicalScanner.UI
{
@@ -27,9 +25,10 @@ namespace Content.Client.MedicalScanner.UI
{
var text = new StringBuilder();
var entities = IoCManager.Resolve<IEntityManager>();
if (!state.Entity.HasValue ||
!state.HasDamage() ||
!IoCManager.Resolve<IEntityManager>().TryGetEntity(state.Entity.Value, out var entity))
!entities.EntityExists(state.Entity.Value))
{
Diagnostics.Text = Loc.GetString("medical-scanner-window-no-patient-data-text");
ScanButton.Disabled = true;
@@ -37,7 +36,7 @@ namespace Content.Client.MedicalScanner.UI
}
else
{
text.Append($"{Loc.GetString("medical-scanner-window-entity-health-text", ("entityName", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityName))}\n");
text.Append($"{Loc.GetString("medical-scanner-window-entity-health-text", ("entityName", Name: entities.GetComponent<MetaDataComponent>(state.Entity.Value).EntityName))}\n");
var totalDamage = state.DamagePerType.Values.Sum();
@@ -46,12 +45,12 @@ namespace Content.Client.MedicalScanner.UI
HashSet<string> shownTypes = new();
// Show the total damage and type breakdown for each damage group.
foreach (var (damageGroupID, damageAmount) in state.DamagePerGroup)
foreach (var (damageGroupId, damageAmount) in state.DamagePerGroup)
{
text.Append($"\n{Loc.GetString("medical-scanner-window-damage-group-text", ("damageGroup", damageGroupID), ("amount", damageAmount))}");
text.Append($"\n{Loc.GetString("medical-scanner-window-damage-group-text", ("damageGroup", damageGroupId), ("amount", damageAmount))}");
// Show the damage for each type in that group.
var group = IoCManager.Resolve<IPrototypeManager>().Index<DamageGroupPrototype>(damageGroupID);
var group = IoCManager.Resolve<IPrototypeManager>().Index<DamageGroupPrototype>(damageGroupId);
foreach (var type in group.DamageTypes)
{
if (state.DamagePerType.TryGetValue(type, out var typeAmount))

View File

@@ -13,7 +13,7 @@ namespace Content.Client.Mining
[DataField("layer")]
private int Layer { get; } = 0;
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);

View File

@@ -14,6 +14,7 @@ namespace Content.Client.MobState.Overlays
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IEyeManager _eyeManager = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IEntityManager _entities = default!;
public override OverlaySpace Space => OverlaySpace.WorldSpace;
private readonly ShaderInstance _gradientCircleShader;
@@ -24,15 +25,14 @@ namespace Content.Client.MobState.Overlays
_gradientCircleShader = _prototypeManager.Index<ShaderPrototype>("GradientCircleMask").Instance();
}
public static bool LocalPlayerHasState(IPlayerManager pm, bool critical, bool dead) {
var playerEntity = pm.LocalPlayer?.ControlledEntity;
if (playerEntity == null)
public static bool LocalPlayerHasState(IPlayerManager pm, bool critical, bool dead, IEntityManager? entities = null) {
if (pm.LocalPlayer?.ControlledEntity is not {Valid: true} player)
{
return false;
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<MobStateComponent?>(playerEntity, out var mobState))
IoCManager.Resolve(ref entities);
if (entities.TryGetComponent<MobStateComponent?>(player, out var mobState))
{
if (critical)
if (mobState.IsCritical())
@@ -47,7 +47,7 @@ namespace Content.Client.MobState.Overlays
protected override void Draw(in OverlayDrawArgs args)
{
if (!LocalPlayerHasState(_playerManager, true, false))
if (!LocalPlayerHasState(_playerManager, true, false, _entities))
return;
var worldHandle = args.WorldHandle;

View File

@@ -2,6 +2,7 @@ using Content.Shared.Labels;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
namespace Content.Client.Morgue.Visualizers
{
@@ -12,7 +13,8 @@ namespace Content.Client.Morgue.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite))
{
return;
}

View File

@@ -2,6 +2,7 @@
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Morgue.Visualizers
@@ -23,7 +24,11 @@ namespace Content.Client.Morgue.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite)) return;
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite))
{
return;
}
if (component.TryGetData(MorgueVisuals.Open, out bool open))
{

View File

@@ -1,6 +1,7 @@
using Content.Shared.Morgue;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Morgue.Visualizers
@@ -23,7 +24,11 @@ namespace Content.Client.Morgue.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite)) return;
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite))
{
return;
}
if (component.TryGetData(MorgueVisuals.Open, out bool open))
{

View File

@@ -17,7 +17,7 @@ namespace Content.Client.Movement.Components
var user = eventArgs.User;
var target = eventArgs.Target;
var dragged = eventArgs.Dragged;
bool Ignored(IEntity entity) => entity == target || entity == user || entity == dragged;
bool Ignored(EntityUid entity) => entity == target || entity == user || entity == dragged;
return user.InRangeUnobstructed(target, Range, predicate: Ignored) && user.InRangeUnobstructed(dragged, Range, predicate: Ignored);
}

View File

@@ -5,10 +5,8 @@ using Content.Client.Resources;
using Robust.Client.Graphics;
using Robust.Client.Input;
using Robust.Client.ResourceManagement;
using Robust.Client.UserInterface.CustomControls;
using Robust.Shared.Enums;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Map;
using Robust.Shared.Maths;
using Robust.Shared.Timing;
@@ -79,14 +77,12 @@ namespace Content.Client.NodeContainer
var mousePos = _inputManager.MouseScreenPosition.Position;
var entity = _entityManager.GetEntity(node.Entity);
var gridId = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).GridID;
var gridId = _entityManager.GetComponent<TransformComponent>(node.Entity).GridID;
var grid = _mapManager.GetGrid(gridId);
var gridTile = grid.TileIndicesFor(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).Coordinates);
var gridTile = grid.TileIndicesFor(_entityManager.GetComponent<TransformComponent>(node.Entity).Coordinates);
var sb = new StringBuilder();
sb.Append($"entity: {entity}\n");
sb.Append($"entity: {node.Entity}\n");
sb.Append($"group id: {group.GroupId}\n");
sb.Append($"node: {node.Name}\n");
sb.Append($"type: {node.Type}\n");
@@ -120,10 +116,10 @@ namespace Content.Client.NodeContainer
if (!_system.Entities.TryGetValue(entity, out var nodeData))
return;
var gridId = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).GridID;
var gridId = _entityManager.GetComponent<TransformComponent>(entity).GridID;
var grid = _mapManager.GetGrid(gridId);
var gridDict = _gridIndex.GetOrNew(gridId);
var coords = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).Coordinates;
var coords = _entityManager.GetComponent<TransformComponent>(entity).Coordinates;
// TODO: This probably shouldn't be capable of returning NaN...
if (float.IsNaN(coords.Position.X) || float.IsNaN(coords.Position.Y))

View File

@@ -13,7 +13,7 @@ namespace Content.Client.Nutrition.Visualizers
[DataField("state")]
private string? _state;
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);

View File

@@ -2,6 +2,7 @@ using Content.Shared.Nutrition.Components;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Nutrition.Visualizers
@@ -19,7 +20,8 @@ namespace Content.Client.Nutrition.Visualizers
{
base.OnChangeData(component);
if (!component.Owner.TryGetComponent<ISpriteComponent>(out var sprite))
var entities = IoCManager.Resolve<IEntityManager>();
if (!entities.TryGetComponent(component.Owner, out ISpriteComponent sprite))
{
return;
}

View File

@@ -25,7 +25,7 @@ namespace Content.Client.PDA
IDLight
}
public override void InitializeEntity(IEntity entity)
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);
var sprite = IoCManager.Resolve<IEntityManager>().GetComponent<ISpriteComponent>(entity);

View File

@@ -182,7 +182,7 @@ namespace Content.Client.Parallax
// Threshold
noiseVal = MathF.Max(0, noiseVal - Threshold);
noiseVal *= threshVal;
noiseVal = (float) MathF.Pow(noiseVal, powFactor);
noiseVal = MathF.Pow(noiseVal, powFactor);
// Get colors based on noise values.
var srcColor = Color.InterpolateBetween(OuterColor, InnerColor, noiseVal)
@@ -408,7 +408,7 @@ namespace Content.Client.Parallax
// Threshold
noiseVal = MathF.Max(0, noiseVal - MaskThreshold);
noiseVal *= threshVal;
noiseVal = (float) MathF.Pow(noiseVal, powFactor);
noiseVal = MathF.Pow(noiseVal, powFactor);
var randomThresh = random.NextFloat();
if (randomThresh > noiseVal)

Some files were not shown because too many files have changed in this diff Show More