Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        // -- 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);
        }
Esempio n. 3
0
 private void OnDeviceDataChanged(string address, IAtmosDeviceData data)
 {
     SendMessage(new AirAlarmUpdateDeviceDataMessage(address, data));
 }