Files
tbd-station-14/Content.Shared/GameObjects/Components/SharedDoAfterComponent.cs
DrSmugleaf 4a8ed41e3a Fix namespaces and optimize imports (#1651)
* Fix namespaces and optimize imports

* Cleanup fixes

* Merge conflict fixes

* Merge conflict fixes

* Merge conflict fixes
2020-08-13 14:40:27 +02:00

62 lines
1.8 KiB
C#

using System;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Serialization;
namespace Content.Shared.GameObjects.Components
{
public abstract class SharedDoAfterComponent : Component
{
public override string Name => "DoAfter";
public override uint? NetID => ContentNetIDs.DO_AFTER;
}
[Serializable, NetSerializable]
public sealed class CancelledDoAfterMessage : ComponentMessage
{
public byte ID { get; }
public CancelledDoAfterMessage(byte id)
{
ID = id;
}
}
/// <summary>
/// We send a trimmed-down version of the DoAfter for the client for it to use.
/// </summary>
[Serializable, NetSerializable]
public sealed class DoAfterMessage : ComponentMessage
{
// To see what these do look at DoAfter and DoAfterEventArgs
public byte ID { get; }
public TimeSpan StartTime { get; }
public GridCoordinates UserGrid { get; }
public GridCoordinates TargetGrid { get; }
public EntityUid TargetUid { get; }
public float Delay { get; }
// TODO: The other ones need predicting
public bool BreakOnUserMove { get; }
public bool BreakOnTargetMove { get; }
public DoAfterMessage(byte id, GridCoordinates userGrid, GridCoordinates targetGrid, TimeSpan startTime, float delay, bool breakOnUserMove, bool breakOnTargetMove, EntityUid targetUid = default)
{
ID = id;
UserGrid = userGrid;
TargetGrid = targetGrid;
StartTime = startTime;
Delay = delay;
BreakOnUserMove = breakOnUserMove;
BreakOnTargetMove = breakOnTargetMove;
TargetUid = targetUid;
}
}
}