Files
tbd-station-14/Content.Shared/Weapons/Ranged/Barrels/Components/SharedMagazineBarrelComponent.cs
2022-02-16 18:23:23 +11:00

49 lines
1.2 KiB
C#

using System;
using Content.Shared.Weapons.Ranged.Components;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
namespace Content.Shared.Weapons.Ranged.Barrels.Components
{
[Serializable, NetSerializable]
public enum AmmoVisuals
{
AmmoCount,
AmmoMax,
Spent,
}
[Serializable, NetSerializable]
public enum MagazineBarrelVisuals
{
MagLoaded
}
[Serializable, NetSerializable]
public enum BarrelBoltVisuals
{
BoltOpen,
}
[Serializable, NetSerializable]
public sealed class MagazineBarrelComponentState : ComponentState
{
public bool Chambered { get; }
public FireRateSelector FireRateSelector { get; }
public (int count, int max)? Magazine { get; }
public string? SoundGunshot { get; }
public MagazineBarrelComponentState(
bool chambered,
FireRateSelector fireRateSelector,
(int count, int max)? magazine,
string? soundGunshot)
{
Chambered = chambered;
FireRateSelector = fireRateSelector;
Magazine = magazine;
SoundGunshot = soundGunshot;
}
}
}