/// <summary> /// Sets device data. Practically a wrapper around the packet sending function, SetData. /// </summary> /// <param name="address">The address to send the new data to.</param> /// <param name="devData">The device data to be sent.</param> public void SetDeviceData(EntityUid uid, string address, IAtmosDeviceData devData, AirAlarmComponent?controller = null) { if (!Resolve(uid, ref controller)) { return; } devData.Dirty = true; SetData(uid, address, devData); }
// -- API -- /// <summary> /// Set the data for an air alarm managed device. /// </summary> /// <param name="address">The address of the device.</param> /// <param name="data">The data to send to the device.</param> public void SetData(EntityUid uid, string address, IAtmosDeviceData data) { if (EntityManager.TryGetComponent(uid, out AtmosMonitorComponent monitor) && !monitor.NetEnabled) { return; } var payload = new NetworkPayload { [DeviceNetworkConstants.Command] = AirAlarmSetData, // [AirAlarmTypeData] = type, [AirAlarmSetData] = data }; _deviceNet.QueuePacket(uid, address, Freq, payload); }
private void OnDeviceDataChanged(string address, IAtmosDeviceData data) { SendMessage(new AirAlarmUpdateDeviceDataMessage(address, data)); }