Adds the NetProbe cartridge (#12543)

* Implement NetProbeCartridge

* Add audio and a popup when scanning a device
Add some doc comments

* Set program icon

* Add NetProbe cartridge as rare loot to maintenance loot tool spawner

* Make the maximum amount of saved entries configurable
Add a scrollbar that shows when there are more entries than fit on the screen

* Make device net id names translatable
This commit is contained in:
Julian Giebel
2022-11-13 22:36:00 +01:00
committed by GitHub
parent 4ec37c8bc0
commit 0df65e5c2a
11 changed files with 341 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
using Robust.Shared.Serialization;
namespace Content.Shared.CartridgeLoader.Cartridges;
[Serializable, NetSerializable]
public sealed class NetProbeUiState : BoundUserInterfaceState
{
/// <summary>
/// The list of probed network devices
/// </summary>
public List<ProbedNetworkDevice> ProbedDevices;
public NetProbeUiState(List<ProbedNetworkDevice> probedDevices)
{
ProbedDevices = probedDevices;
}
}
[Serializable, NetSerializable, DataRecord]
public sealed class ProbedNetworkDevice
{
public readonly string Name;
public readonly string Address;
public readonly string Frequency;
public readonly string NetId;
public ProbedNetworkDevice(string name, string address, string frequency, string netId)
{
Name = name;
Address = address;
Frequency = frequency;
NetId = netId;
}
}