2021-06-09 22:19:39 +02:00
|
|
|
|
using Content.Shared.Weapons.Ranged.Components;
|
2019-07-31 15:02:36 +02:00
|
|
|
|
using Robust.Shared.GameObjects;
|
2019-04-15 21:11:38 -06:00
|
|
|
|
using Robust.Shared.Map;
|
2020-08-11 16:44:15 -07:00
|
|
|
|
using Robust.Shared.Maths;
|
2018-12-13 14:49:57 +01:00
|
|
|
|
|
2021-06-09 22:19:39 +02:00
|
|
|
|
namespace Content.Client.Weapons.Ranged
|
2018-12-13 14:49:57 +01:00
|
|
|
|
{
|
2020-06-22 05:47:15 +10:00
|
|
|
|
// Yeah I put it all in the same enum, don't judge me
|
2020-12-04 11:57:33 +01:00
|
|
|
|
public enum RangedBarrelVisualLayers : byte
|
2020-06-22 05:47:15 +10:00
|
|
|
|
{
|
|
|
|
|
|
Base,
|
|
|
|
|
|
BaseUnshaded,
|
|
|
|
|
|
Bolt,
|
|
|
|
|
|
Mag,
|
|
|
|
|
|
MagUnshaded,
|
|
|
|
|
|
}
|
2020-11-26 14:33:31 +01:00
|
|
|
|
|
2019-07-31 15:02:36 +02:00
|
|
|
|
[RegisterComponent]
|
2018-12-13 14:49:57 +01:00
|
|
|
|
public sealed class ClientRangedWeaponComponent : SharedRangedWeaponComponent
|
|
|
|
|
|
{
|
2022-01-30 17:39:46 +11:00
|
|
|
|
public FireRateSelector FireRateSelector { get; private set; } = FireRateSelector.Automatic;
|
2020-06-22 05:47:15 +10:00
|
|
|
|
|
2021-03-10 14:48:29 +01:00
|
|
|
|
public override void HandleComponentState(ComponentState? curState, ComponentState? nextState)
|
2020-06-22 05:47:15 +10:00
|
|
|
|
{
|
|
|
|
|
|
base.HandleComponentState(curState, nextState);
|
2020-11-26 14:33:31 +01:00
|
|
|
|
if (curState is not RangedWeaponComponentState rangedState)
|
2020-06-22 05:47:15 +10:00
|
|
|
|
{
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
FireRateSelector = rangedState.FireRateSelector;
|
|
|
|
|
|
}
|
2018-12-13 14:49:57 +01:00
|
|
|
|
}
|
2020-08-11 16:44:15 -07:00
|
|
|
|
}
|