2021-02-27 04:12:09 +01:00
|
|
|
|
#nullable enable
|
|
|
|
|
|
using System;
|
2020-06-22 05:47:15 +10:00
|
|
|
|
using Robust.Shared.GameObjects;
|
2020-09-08 13:30:22 +02:00
|
|
|
|
using Robust.Shared.ViewVariables;
|
2020-06-22 05:47:15 +10:00
|
|
|
|
|
|
|
|
|
|
namespace Content.Shared.GameObjects.Components.Weapons.Ranged
|
|
|
|
|
|
{
|
|
|
|
|
|
public abstract class SharedRangedBarrelComponent : Component
|
|
|
|
|
|
{
|
2020-09-08 13:30:22 +02:00
|
|
|
|
[ViewVariables]
|
2020-06-22 05:47:15 +10:00
|
|
|
|
public abstract FireRateSelector FireRateSelector { get; }
|
2020-09-08 13:30:22 +02:00
|
|
|
|
[ViewVariables]
|
2020-06-22 05:47:15 +10:00
|
|
|
|
public abstract FireRateSelector AllRateSelectors { get; }
|
2020-09-08 13:30:22 +02:00
|
|
|
|
[ViewVariables]
|
2020-06-22 05:47:15 +10:00
|
|
|
|
public abstract float FireRate { get; }
|
2020-09-08 13:30:22 +02:00
|
|
|
|
[ViewVariables]
|
2020-06-22 05:47:15 +10:00
|
|
|
|
public abstract int ShotsLeft { get; }
|
2020-09-08 13:30:22 +02:00
|
|
|
|
[ViewVariables]
|
2020-06-22 05:47:15 +10:00
|
|
|
|
public abstract int Capacity { get; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Flags]
|
|
|
|
|
|
public enum FireRateSelector
|
|
|
|
|
|
{
|
|
|
|
|
|
Safety = 0,
|
|
|
|
|
|
Single = 1 << 0,
|
|
|
|
|
|
Automatic = 1 << 1,
|
|
|
|
|
|
}
|
2020-09-08 13:30:22 +02:00
|
|
|
|
}
|