Files
tbd-station-14/Content.Server/ParticleAccelerator/Components/ParticleAcceleratorPartComponent.cs
Vera Aguilera Puerto a5b57c8e10 Inline Transform
2021-12-03 14:20:34 +01:00

42 lines
994 B
C#

using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.ViewVariables;
namespace Content.Server.ParticleAccelerator.Components
{
public abstract class ParticleAcceleratorPartComponent : Component
{
[ViewVariables] public ParticleAcceleratorControlBoxComponent? Master;
protected override void Initialize()
{
base.Initialize();
// FIXME: this has to be an entity system, full stop.
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Anchored = true;
}
public void OnAnchorChanged()
{
RescanIfPossible();
}
protected override void OnRemove()
{
base.OnRemove();
RescanIfPossible();
}
private void RescanIfPossible()
{
Master?.RescanParts();
}
public virtual void Rotated()
{
RescanIfPossible();
}
}
}