Item status!
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.GameObjects.Components
|
||||
{
|
||||
public abstract class SharedHandheldLightComponent : Component
|
||||
{
|
||||
public sealed override string Name => "HandheldLight";
|
||||
public sealed override uint? NetID => ContentNetIDs.HANDHELD_LIGHT;
|
||||
public sealed override Type StateType => typeof(HandheldLightComponentState);
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
protected sealed class HandheldLightComponentState : ComponentState
|
||||
{
|
||||
public HandheldLightComponentState(float? charge) : base(ContentNetIDs.HANDHELD_LIGHT)
|
||||
{
|
||||
Charge = charge;
|
||||
}
|
||||
|
||||
public float? Charge { get; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.GameObjects.Components
|
||||
{
|
||||
public abstract class SharedStackComponent : Component
|
||||
{
|
||||
public sealed override string Name => "Stack";
|
||||
public sealed override uint? NetID => ContentNetIDs.STACK;
|
||||
public sealed override Type StateType => typeof(StackComponentState);
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
protected sealed class StackComponentState : ComponentState
|
||||
{
|
||||
public int Count { get; }
|
||||
public int MaxCount { get; }
|
||||
|
||||
public StackComponentState(int count, int maxCount) : base(ContentNetIDs.STACK)
|
||||
{
|
||||
Count = count;
|
||||
MaxCount = maxCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.GameObjects.Components.Weapons.Ranged
|
||||
{
|
||||
[Serializable, NetSerializable]
|
||||
public class BallisticMagazineWeaponComponentState : ComponentState
|
||||
{
|
||||
/// <summary>
|
||||
/// True if a bullet is chambered.
|
||||
/// </summary>
|
||||
public bool Chambered { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Count of bullets in the magazine.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Null if no magazine is inserted.
|
||||
/// </remarks>
|
||||
public (int count, int max)? MagazineCount { get; }
|
||||
|
||||
public BallisticMagazineWeaponComponentState(bool chambered, (int count, int max)? magazineCount) : base(ContentNetIDs.BALLISTIC_MAGAZINE_WEAPON)
|
||||
{
|
||||
Chambered = chambered;
|
||||
MagazineCount = magazineCount;
|
||||
}
|
||||
}
|
||||
|
||||
// BMW is "Ballistic Magazine Weapon" here.
|
||||
/// <summary>
|
||||
/// Fired server -> client when the magazine in a Ballistic Magazine Weapon got auto-ejected.
|
||||
/// </summary>
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class BmwComponentAutoEjectedMessage : ComponentMessage
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.GameObjects.Components
|
||||
{
|
||||
[NetSerializable, Serializable]
|
||||
public class WelderComponentState : ComponentState
|
||||
{
|
||||
public float FuelCapacity { get; }
|
||||
public float Fuel { get; }
|
||||
public bool Activated { get; }
|
||||
|
||||
public WelderComponentState(float fuelCapacity, float fuel, bool activated) : base(ContentNetIDs.WELDER)
|
||||
{
|
||||
FuelCapacity = fuelCapacity;
|
||||
Fuel = fuel;
|
||||
Activated = activated;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user