Files
RobustToolbox/Robust.Shared/GameObjects/Systems/SharedTransformSystem.cs
T
AcruidandGitHub 2183cd7ca1 Massive Namespace Cleanup (#1544)
* Removed the Interfaces folder.
* All objects inside the GameObjects subfolders are now in the GameObjects namespace.
* Added a Resharper DotSettings file to mark the GameObjects subfolders as not providing namespaces.
* Simplified Robust.client.Graphics namespace.
* Automated remove redundant using statements.
2021-02-10 23:27:19 -08:00

33 lines
865 B
C#

using System.Collections.Generic;
using System.Linq;
namespace Robust.Shared.GameObjects
{
internal class SharedTransformSystem : EntitySystem
{
private readonly List<MoveEvent> _deferredMoveEvents = new();
public void DeferMoveEvent(MoveEvent moveEvent)
{
_deferredMoveEvents.Add(moveEvent);
}
public override void Update(float frameTime)
{
base.Update(frameTime);
var events = _deferredMoveEvents
.OrderBy(e => e.Sender.HasComponent<IMapGridComponent>())
.ToArray();
foreach (var ev in events)
{
ev.Sender.EntityManager.EventBus.RaiseEvent(EventSource.Local, ev);
ev.Handled = true;
}
_deferredMoveEvents.RemoveAll(e => e.Handled);
}
}
}