Inline Transform
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using Content.Server.Disposal.Unit.Components;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Serialization.Manager.Attributes;
|
||||
|
||||
@@ -16,7 +17,7 @@ namespace Content.Server.Disposal.Tube.Components
|
||||
|
||||
protected override Direction[] ConnectableDirections()
|
||||
{
|
||||
var direction = Owner.Transform.LocalRotation;
|
||||
var direction = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).LocalRotation;
|
||||
var side = new Angle(MathHelper.DegreesToRadians(direction.Degrees + _sideDegrees));
|
||||
|
||||
return new[] {direction.GetDir(), side.GetDir()};
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Content.Server.Disposal.Tube.Components
|
||||
|
||||
public bool TryInsert(DisposalUnitComponent from)
|
||||
{
|
||||
var holder = IoCManager.Resolve<IEntityManager>().SpawnEntity(HolderPrototypeId, Owner.Transform.MapPosition);
|
||||
var holder = IoCManager.Resolve<IEntityManager>().SpawnEntity(HolderPrototypeId, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).MapPosition);
|
||||
var holderComponent = IoCManager.Resolve<IEntityManager>().GetComponent<DisposalHolderComponent>(holder.Uid);
|
||||
|
||||
foreach (var entity in from.ContainedEntities.ToArray())
|
||||
@@ -37,7 +37,7 @@ namespace Content.Server.Disposal.Tube.Components
|
||||
|
||||
protected override Direction[] ConnectableDirections()
|
||||
{
|
||||
return new[] {Owner.Transform.LocalRotation.GetDir()};
|
||||
return new[] {IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).LocalRotation.GetDir()};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -27,14 +27,14 @@ namespace Content.Server.Disposal.Tube.Components
|
||||
|
||||
protected override Direction[] ConnectableDirections()
|
||||
{
|
||||
var direction = Owner.Transform.LocalRotation;
|
||||
var direction = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).LocalRotation;
|
||||
|
||||
return _degrees.Select(degree => new Angle(degree.Theta + direction.Theta).GetDir()).ToArray();
|
||||
}
|
||||
|
||||
public override Direction NextDirection(DisposalHolderComponent holder)
|
||||
{
|
||||
var next = Owner.Transform.LocalRotation.GetDir();
|
||||
var next = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).LocalRotation.GetDir();
|
||||
var directions = ConnectableDirections().Skip(1).ToArray();
|
||||
|
||||
if (holder.PreviousDirectionFrom == Direction.Invalid ||
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace Content.Server.Disposal.Tube.Components
|
||||
return directions[1];
|
||||
}
|
||||
|
||||
return Owner.Transform.LocalRotation.GetDir();
|
||||
return IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).LocalRotation.GetDir();
|
||||
}
|
||||
|
||||
protected override void Initialize()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using Content.Server.Disposal.Unit.Components;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Maths;
|
||||
|
||||
namespace Content.Server.Disposal.Tube.Components
|
||||
@@ -14,7 +15,7 @@ namespace Content.Server.Disposal.Tube.Components
|
||||
|
||||
protected override Direction[] ConnectableDirections()
|
||||
{
|
||||
var rotation = Owner.Transform.LocalRotation;
|
||||
var rotation = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).LocalRotation;
|
||||
var opposite = new Angle(rotation.Theta + Math.PI);
|
||||
|
||||
return new[] {rotation.GetDir(), opposite.GetDir()};
|
||||
|
||||
@@ -87,8 +87,8 @@ namespace Content.Server.Disposal.Tube
|
||||
return null;
|
||||
var oppositeDirection = nextDirection.GetOpposite();
|
||||
|
||||
var grid = _mapManager.GetGrid(targetTube.Owner.Transform.GridID);
|
||||
var position = targetTube.Owner.Transform.Coordinates;
|
||||
var grid = _mapManager.GetGrid(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(targetTube.Owner.Uid).GridID);
|
||||
var position = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(targetTube.Owner.Uid).Coordinates;
|
||||
foreach (var entity in grid.GetInDir(position, nextDirection))
|
||||
{
|
||||
if (!EntityManager.TryGetComponent(entity, out IDisposalTubeComponent? tube))
|
||||
|
||||
Reference in New Issue
Block a user