using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
-using Robust.Shared.Maths;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using SixLabors.ImageSharp;
private readonly DecalPainter _decalPainter;
private readonly IEntityManager _cEntityManager;
- private readonly IMapManager _cMapManager;
private readonly IEntityManager _sEntityManager;
private readonly IMapManager _sMapManager;
_decalPainter = new DecalPainter(client, server);
_cEntityManager = client.ResolveDependency<IEntityManager>();
- _cMapManager = client.ResolveDependency<IMapManager>();
_sEntityManager = server.ResolveDependency<IEntityManager>();
_sMapManager = server.ResolveDependency<IMapManager>();
var components = new ConcurrentDictionary<EntityUid, List<EntityData>>();
- foreach (var entity in _sEntityManager.GetEntities())
+ foreach (var serverEntity in _sEntityManager.GetEntities())
{
- if (!_cEntityManager.TryGetComponent(entity, out SpriteComponent? sprite))
+ var clientEntity = _cEntityManager.GetEntity(_sEntityManager.GetNetEntity(serverEntity));
+ if (!_cEntityManager.TryGetComponent(clientEntity, out SpriteComponent? sprite))
{
continue;
}
- var prototype = _sEntityManager.GetComponent<MetaDataComponent>(entity).EntityPrototype;
+ var prototype = _sEntityManager.GetComponent<MetaDataComponent>(serverEntity).EntityPrototype;
if (prototype == null)
{
continue;
}
- var transform = _sEntityManager.GetComponent<TransformComponent>(entity);
+ var transform = _sEntityManager.GetComponent<TransformComponent>(serverEntity);
if (_sMapManager.TryGetGrid(transform.GridUid, out var grid))
{
var position = transform.LocalPosition;
var (x, y) = TransformLocalPosition(position, grid);
- var data = new EntityData(entity, sprite, x, y);
+ var data = new EntityData(serverEntity, sprite, x, y);
components.GetOrAdd(transform.GridUid.Value, _ => new List<EntityData>()).Add(data);
}