Fix tray scanner not updating it's range. (#26789)
Fix tray scanner not updating it's range on change. Add range value to the tray scanner state.to synchronize it between client and server.
This commit is contained in:
@@ -48,7 +48,7 @@ public abstract class SharedTrayScannerSystem : EntitySystem
|
||||
|
||||
private void OnTrayScannerGetState(EntityUid uid, TrayScannerComponent scanner, ref ComponentGetState args)
|
||||
{
|
||||
args.State = new TrayScannerState(scanner.Enabled);
|
||||
args.State = new TrayScannerState(scanner.Enabled, scanner.Range);
|
||||
}
|
||||
|
||||
private void OnTrayScannerHandleState(EntityUid uid, TrayScannerComponent scanner, ref ComponentHandleState args)
|
||||
@@ -56,6 +56,7 @@ public abstract class SharedTrayScannerSystem : EntitySystem
|
||||
if (args.Current is not TrayScannerState state)
|
||||
return;
|
||||
|
||||
scanner.Range = state.Range;
|
||||
SetScannerEnabled(uid, state.Enabled, scanner);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,9 +22,11 @@ public sealed partial class TrayScannerComponent : Component
|
||||
public sealed class TrayScannerState : ComponentState
|
||||
{
|
||||
public bool Enabled;
|
||||
public float Range;
|
||||
|
||||
public TrayScannerState(bool enabled)
|
||||
public TrayScannerState(bool enabled, float range)
|
||||
{
|
||||
Enabled = enabled;
|
||||
Range = range;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user