public override void OnInspectorGUI() { //base.OnInspectorGUI(); serializedObject.Update(); EditorGUILayout.BeginVertical("box"); _cameraTab = GUILayout.Toolbar(_cameraTab, _tabNames); if (_cameraTab == _tabNames.Length - 1) { _camController.AddCamera(); UpdateCameraTabs(); } else { ShowIndexProperties(_cameraTab); } EditorGUILayout.EndVertical(); serializedObject.ApplyModifiedProperties(); }
// Cameras private void btnCamerasSave_Click(object sender, EventArgs e) { // Valiations: if (!Utilities.IsDigitsOnly(tbCamerasXResolution.Text)) { errorProvider.SetError(tbCamerasXResolution, "Must be a number."); return; } else { errorProvider.SetError(tbCamerasXResolution, ""); } if (!Utilities.IsDigitsOnly(tbCamerasYResolution.Text)) { errorProvider.SetError(tbCamerasYResolution, "Must be a number."); return; } else { errorProvider.SetError(tbCamerasYResolution, ""); } if (tbCamerasShortName.Text.Length == 0) { errorProvider.SetError(tbCamerasShortName, "Must provide a value."); return; } else { errorProvider.SetError(tbCamerasYResolution, ""); } if (lbCamerasColorSpaces.Items.Count == 0) { errorProvider.SetError(lbCamerasColorSpaces, "Must specify at least one color space."); return; } // Save new/changes: int id = 0; string shortName = tbCamerasShortName.Text; string longName = tbCamerasLongName.Text; Size maxResolution = new Size(int.Parse(tbCamerasXResolution.Text), int.Parse(tbCamerasYResolution.Text)); List <ColorSpace> colorSpaces = new List <ColorSpace>(); foreach (var item in lbCamerasColorSpaces.Items) { ColorSpace cs = listColorSpaces.Find(x => x.Name == item.ToString()); if (cs != null) { colorSpaces.Add(cs); } } if (emCameras == EditingModes.Add) { id = 0; } else { id = currentCamera.Id; } Camera candidate = new Camera(id, shortName, longName, maxResolution, colorSpaces); if (emCameras == EditingModes.Add) { id = CameraController.AddCamera(candidate); } else { CameraController.EditCamera(id, candidate); } // Reload data: lblStatus.Text = "Issuing camera saving command... "; currentCamera = CameraController.GetCameras(new List <int>() { id })[0]; LoadCameraData(currentCamera); PrepareDataLists(); lblStatus.Text += "Complete."; }