using Content.Shared.FixedPoint;
using Robust.Shared.GameStates;
namespace Content.Shared.DoAfter;
///
/// For setting DoAfterArgs on an entity level
/// Would require some setup, will require a rework eventually
///
[RegisterComponent, NetworkedComponent]
[Access(typeof(SharedDoAfterSystem))]
public sealed partial class DoAfterArgsComponent : Component
{
#region DoAfterArgsSettings
///
///
///
[DataField]
public AttemptFrequency AttemptFrequency;
///
///
///
[DataField]
public bool Broadcast;
///
///
///
[DataField]
public TimeSpan Delay = TimeSpan.FromSeconds(2);
///
///
///
[DataField]
public bool Hidden;
///
/// Should this DoAfter repeat after being completed?
///
[DataField]
public bool Repeat;
#region Break/Cancellation Options
///
///
///
[DataField]
public bool NeedHand;
///
///
///
[DataField]
public bool BreakOnHandChange = true;
///
///
///
[DataField]
public bool BreakOnDropItem = true;
///
///
///
[DataField]
public bool BreakOnMove;
///
///
///
[DataField]
public bool BreakOnWeightlessMove = true;
///
///
///
[DataField]
public float MovementThreshold = 0.3f;
///
///
///
[DataField]
public float? DistanceThreshold;
///
///
///
[DataField]
public bool BreakOnDamage;
///
///
///
[DataField]
public FixedPoint2 DamageThreshold = 1;
///
///
///
[DataField]
public bool RequireCanInteract = true;
// End Break/Cancellation Options
#endregion
///
/// What should the delay be reduced to after completion?
///
[DataField]
public TimeSpan? DelayReduction;
// End DoAfterArgsSettings
#endregion
}