0 days without buckle breaking (#1366)

This commit is contained in:
DrSmugleaf
2020-07-17 10:43:10 +02:00
committed by GitHub
parent 5c723ea70e
commit f313a9267a
13 changed files with 370 additions and 127 deletions

View File

@@ -3,7 +3,7 @@ using Content.Shared.GameObjects.EntitySystems;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
namespace Content.Shared.GameObjects.Components.Mobs
namespace Content.Shared.GameObjects.Components.Buckle
{
public abstract class SharedBuckleComponent : Component, IActionBlocker, IEffectBlocker
{
@@ -11,7 +11,10 @@ namespace Content.Shared.GameObjects.Components.Mobs
public sealed override uint? NetID => ContentNetIDs.BUCKLE;
protected abstract bool Buckled { get; }
/// <summary>
/// True if the entity is buckled, false otherwise.
/// </summary>
public abstract bool Buckled { get; }
bool IActionBlocker.CanMove()
{
@@ -27,24 +30,24 @@ namespace Content.Shared.GameObjects.Components.Mobs
{
return !Buckled;
}
}
[Serializable, NetSerializable]
protected sealed class BuckleComponentState : ComponentState
[Serializable, NetSerializable]
public sealed class BuckleComponentState : ComponentState
{
public BuckleComponentState(bool buckled, int? drawDepth) : base(ContentNetIDs.BUCKLE)
{
public BuckleComponentState(bool buckled, int? drawDepth) : base(ContentNetIDs.BUCKLE)
{
Buckled = buckled;
DrawDepth = drawDepth;
}
public bool Buckled { get; }
public int? DrawDepth;
Buckled = buckled;
DrawDepth = drawDepth;
}
[Serializable, NetSerializable]
public enum BuckleVisuals
{
Buckled
}
public bool Buckled { get; }
public int? DrawDepth;
}
[Serializable, NetSerializable]
public enum BuckleVisuals
{
Buckled
}
}

View File

@@ -27,21 +27,6 @@ namespace Content.Shared.GameObjects.Components.Strap
public sealed override string Name => "Strap";
public sealed override uint? NetID => ContentNetIDs.STRAP;
public abstract StrapPosition Position { get; protected set; }
}
[Serializable, NetSerializable]
public sealed class StrapComponentState : ComponentState
{
public readonly StrapPosition Position;
public StrapComponentState(StrapPosition position) : base(ContentNetIDs.BUCKLE)
{
Position = position;
}
public bool Buckled { get; }
}
[Serializable, NetSerializable]