[fix_seed_analyzer-28-08-2024-commit] mmm hueta (#669)

This commit is contained in:
ILLUZORR
2024-08-28 10:41:05 +05:00
committed by GitHub
parent 8279d41686
commit 3209015115

View File

@@ -6,7 +6,6 @@ using Content.Shared.FixedPoint;
using Content.Shared.Interaction; using Content.Shared.Interaction;
using Robust.Server.GameObjects; using Robust.Server.GameObjects;
using Robust.Shared.Audio.Systems; using Robust.Shared.Audio.Systems;
using Robust.Shared.Player;
namespace Content.Server.Botany.Systems; namespace Content.Server.Botany.Systems;
@@ -34,8 +33,13 @@ public sealed class SeedAnalyzerSystem : EntitySystem
_audio.PlayPvs(seedAnalyzer.ScanningBeginSound, uid); _audio.PlayPvs(seedAnalyzer.ScanningBeginSound, uid);
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, seedAnalyzer.ScanDelay, _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager,
new SeedAnalyzerDoAfterEvent(), uid, target: args.Target, used: uid) args.User,
seedAnalyzer.ScanDelay,
new SeedAnalyzerDoAfterEvent(),
uid,
target: args.Target,
used: uid)
{ {
BreakOnMove = true, BreakOnMove = true,
NeedHand = true NeedHand = true
@@ -50,28 +54,28 @@ public sealed class SeedAnalyzerSystem : EntitySystem
_audio.PlayPvs(component.ScanningEndSound, args.Args.User); _audio.PlayPvs(component.ScanningEndSound, args.Args.User);
UpdateScannedSeed(uid, args.Args.User, args.Args.Target.Value, component); OpenUserInterface(args.User, uid);
UpdateScannedSeed(uid, args.Args.Target.Value, component);
args.Handled = true; args.Handled = true;
} }
private void OpenUserInterface(EntityUid user, EntityUid seedAnalyzer) private void OpenUserInterface(EntityUid user, EntityUid seedAnalyzer)
{ {
if (!HasComp<ActorComponent>(user)) if (!_uiSystem.HasUi(seedAnalyzer, SeedAnalyzerUiKey.Key))
return; return;
_uiSystem.TryOpenUi(seedAnalyzer, SeedAnalyzerUiKey.Key, user); _uiSystem.OpenUi(seedAnalyzer, SeedAnalyzerUiKey.Key, user);
} }
public void UpdateScannedSeed( private void UpdateScannedSeed(
EntityUid uid, EntityUid uid,
EntityUid user,
EntityUid? target, EntityUid? target,
SeedAnalyzerComponent? seedAnalyzer = null) SeedAnalyzerComponent? seedAnalyzer = null)
{ {
if (!Resolve(uid, ref seedAnalyzer)) if (!Resolve(uid, ref seedAnalyzer))
return; return;
if (target == null || !_uiSystem.TryGetOpenUi(uid, SeedAnalyzerUiKey.Key, out var ui)) if (!_uiSystem.HasUi(uid, SeedAnalyzerUiKey.Key))
return; return;
if (!TryComp<PlantHolderComponent>(target, out var plant)) if (!TryComp<PlantHolderComponent>(target, out var plant))
@@ -97,9 +101,9 @@ public sealed class SeedAnalyzerSystem : EntitySystem
} }
} }
OpenUserInterface(user, uid); _uiSystem.ServerSendUiMessage(uid,
SeedAnalyzerUiKey.Key,
_uiSystem.SendPredictedUiMessage(ui, new SeedAnalyzerScannedUserMessage(GetNetEntity(target), new SeedAnalyzerScannedUserMessage(GetNetEntity(target),
plant.Seed?.Yield, plant.Seed?.Yield,
plant.Seed?.Production, plant.Seed?.Production,
plant.Seed?.Lifespan, plant.Seed?.Lifespan,