Files
tbd-station-14/Content.Shared/Weapons/Ranged/Barrels/Components/SharedMagazineBarrelComponent.cs
2021-06-09 22:19:39 +02:00

52 lines
1.3 KiB
C#

#nullable enable
using System;
using Content.Shared.NetIDs;
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 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) :
base(ContentNetIDs.MAGAZINE_BARREL)
{
Chambered = chambered;
FireRateSelector = fireRateSelector;
Magazine = magazine;
SoundGunshot = soundGunshot;
}
}
}