[fix_seed_analyzer-28-08-2024-commit] mmm hueta (#669)
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user