public void onConfigStatusReceived(NetMQMessage m) { //This receives the actual config of the camera byte type = m[0].Buffer[3]; RCamConfigParameter parameter = (RCamConfigParameter)m[0].Buffer[4]; switch (type) { case 0: byte valueByte = m[0].Buffer[5]; int valueByteToInt = valueByte; RecCamControl.paramDict[(byte)parameter] = valueByteToInt; break; case 1: int valueInt = BitConverter.ToInt32(m[0].Buffer, 5); RecCamControl.paramDict[(byte)parameter] = valueInt; break; default: break; } RecCamControl.configsReceived++; }
IEnumerator lookForChangeInConfig() { while (configsReceived < paramDict.Count) { yield return(new WaitForEndOfFrame()); } //Once we get each config, we put the parameters on the gameobjects foreach (byte key in paramDict.Keys) { RCamConfigParameter configParameter = (RCamConfigParameter)key; switch (configParameter) { case RCamConfigParameter.RCAM_CONFIG_MOVIE_FORMAT: resolutionDropDown.onValueChanged.RemoveAllListeners(); onResolutionReceived(paramDict[key]); resolutionDropDown.onValueChanged.AddListener(delegate { onResolutionChanged(); }); break; case RCamConfigParameter.RCAM_CONFIG_PHOTO_SIZE: megapixels.onValueChanged.RemoveAllListeners(); megapixels.value = paramDict[key]; megapixels.onValueChanged.AddListener(delegate { SendMP(); }); break; case RCamConfigParameter.RCAM_CONFIG_WB: whiteBalance.onValueChanged.RemoveAllListeners(); if (paramDict[key] == 254) { whiteBalance.isOn = false; tintWB.gameObject.SetActive(true); } else { whiteBalance.isOn = true; tintWB.gameObject.SetActive(false); } whiteBalance.onValueChanged.AddListener(delegate { SendToggleManualWB(); }); break; case RCamConfigParameter.RCAM_CONFIG_ISO: Iso.transform.GetChild(0).GetComponent <Text>().text = paramDict[key].ToString(); break; case RCamConfigParameter.RCAM_CONFIG_SHARPNESS: sharpness.onValueChanged.RemoveAllListeners(); sharpness.value = paramDict[key]; sharpness.onValueChanged.AddListener(delegate { SendSharpness(); }); break; case RCamConfigParameter.RCAM_CONFIG_CONTRAST: contrast.onValueChanged.RemoveAllListeners(); contrast.value = paramDict[key]; contrast.onValueChanged.AddListener(delegate { SendContrast(); }); break; case RCamConfigParameter.RCAM_CONFIG_SATURATION: saturation.onValueChanged.RemoveAllListeners(); saturation.value = paramDict[key]; saturation.onValueChanged.AddListener(delegate { SendSaturation(); }); break; case RCamConfigParameter.RCAM_CONFIG_BRIGHTNESS: brightness.onValueChanged.RemoveAllListeners(); brightness.value = paramDict[key]; brightness.onValueChanged.AddListener(delegate { SendBrightness(); }); break; case RCamConfigParameter.RCAM_CONFIG_PHOTO_QUALITY: photoQuality.onValueChanged.RemoveAllListeners(); photoQuality.value = paramDict[key]; photoQuality.onValueChanged.AddListener(delegate { SendPhotoQuality(); }); break; case RCamConfigParameter.RCAM_CONFIG_ROTATION: upsideDownCamera.onValueChanged.RemoveAllListeners(); if (paramDict[key] == 3) { upsideDownCamera.isOn = true; } else { upsideDownCamera.isOn = false; } upsideDownCamera.onValueChanged.AddListener(delegate { SendRotationChanged(); }); break; case RCamConfigParameter.RCAM_CONFIG_IRIS: irisaperture.transform.GetChild(0).GetComponent <Text>().text = paramDict[key].ToString(); break; case RCamConfigParameter.RCAM_CONFIG_PHOTO_BURST: burstMode.onValueChanged.RemoveAllListeners(); if (paramDict[key] == 1) { burstMode.isOn = true; burstSpeed.gameObject.SetActive(true); } else { burstMode.isOn = false; burstSpeed.gameObject.SetActive(true); } burstMode.onValueChanged.AddListener(delegate { sendPhotoBurstMode(); }); break; case RCamConfigParameter.RCAM_CONFIG_MANUAL_WB_TINT: tintWB.onValueChanged.RemoveAllListeners(); tintWB.value = paramDict[key]; tintWB.onValueChanged.AddListener(delegate { SendTintWB(); }); break; case RCamConfigParameter.RCAM_CONFIG_PHOTO_BURST_SPEED: burstSpeed.onValueChanged.RemoveAllListeners(); burstSpeed.value = paramDict[key]; burstSpeed.onValueChanged.AddListener(delegate { SendBurstSpeed(); }); break; default: break; } } paramDict.Clear(); configsReceived = 0; }