| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- using Content.Server.Movement.Components;
- using Content.Server.Movement.Systems;
- using Content.Shared.Camera;
- using Content.Shared.Hands;
- using Content.Shared.Movement.Components;
- using Content.Shared.Wieldable;
- using Content.Shared.Wieldable.Components;
- namespace Content.Server.Wieldable;
- public sealed class WieldableSystem : SharedWieldableSystem
- {
- [Dependency] private readonly ContentEyeSystem _eye = default!;
- public override void Initialize()
- {
- base.Initialize();
- SubscribeLocalEvent<CursorOffsetRequiresWieldComponent, ItemUnwieldedEvent>(OnEyeOffsetUnwielded);
- SubscribeLocalEvent<CursorOffsetRequiresWieldComponent, ItemWieldedEvent>(OnEyeOffsetWielded);
- SubscribeLocalEvent<CursorOffsetRequiresWieldComponent, HeldRelayedEvent<GetEyePvsScaleRelayedEvent>>(OnGetEyePvsScale);
- }
- private void OnEyeOffsetUnwielded(Entity<CursorOffsetRequiresWieldComponent> entity, ref ItemUnwieldedEvent args)
- {
- _eye.UpdatePvsScale(args.User);
- }
- private void OnEyeOffsetWielded(Entity<CursorOffsetRequiresWieldComponent> entity, ref ItemWieldedEvent args)
- {
- _eye.UpdatePvsScale(args.User);
- }
- private void OnGetEyePvsScale(Entity<CursorOffsetRequiresWieldComponent> entity,
- ref HeldRelayedEvent<GetEyePvsScaleRelayedEvent> args)
- {
- if (!TryComp(entity, out EyeCursorOffsetComponent? eyeCursorOffset) || !TryComp(entity.Owner, out WieldableComponent? wieldableComp))
- return;
- if (!wieldableComp.Wielded)
- return;
- args.Args.Scale += eyeCursorOffset.PvsIncrease;
- }
- }
|