private void ReceiveAllSensorInfo(MessageReader reader) { foreach (NuiSensor sensor in _sensors.Values) { sensor.ChangeStatus(SensorState.UNKNOWN); if (OnSensorDisconnected != null) { OnSensorDisconnected.Invoke(sensor); } } _sensors.Clear(); int sensorCount = reader.ReadInt(); for (int i = 0; i < sensorCount; i++) { NuiSensor sensor = MakeSensor(reader); sensor.ChangeStatus(SensorState.OPENED); if (OnSensorConnected != null) { OnSensorConnected.Invoke(sensor); } _sensors.Add(sensor.Id, sensor); } }
private void ReceiveChangedSensorInfo(MessageReader reader) { int sensorId = reader.ReadInt(); if (_sensors.ContainsKey(sensorId)) { _sensors[sensorId].ChangeStatus((SensorState)reader.ReadInt()); if (OnSensorDisconnected != null) { OnSensorDisconnected.Invoke(_sensors[sensorId]); } _sensors.Remove(sensorId); } }