| 12345678910111213141516171819202122232425262728293031323334353637 |
- using Content.Client.Weapons.Ranged.Components;
- using Content.Shared.Weapons.Ranged.Systems;
- using Robust.Client.GameObjects;
- namespace Content.Client.Weapons.Ranged.Systems;
- public sealed partial class GunSystem
- {
- private void InitializeSpentAmmo()
- {
- SubscribeLocalEvent<SpentAmmoVisualsComponent, AppearanceChangeEvent>(OnSpentAmmoAppearance);
- }
- private void OnSpentAmmoAppearance(EntityUid uid, SpentAmmoVisualsComponent component, ref AppearanceChangeEvent args)
- {
- var sprite = args.Sprite;
- if (sprite == null) return;
- if (!args.AppearanceData.TryGetValue(AmmoVisuals.Spent, out var varSpent))
- {
- return;
- }
- var spent = (bool) varSpent;
- string state;
- if (spent)
- state = component.Suffix ? $"{component.State}-spent" : "spent";
- else
- state = component.State;
- sprite.LayerSetState(AmmoVisualLayers.Base, state);
- if (sprite.LayerExists(AmmoVisualLayers.Tip)){
- sprite.RemoveLayer(AmmoVisualLayers.Tip);
- }
- }
- }
|