| | using UnityEditor; |
| | using Unity.MLAgents.Sensors; |
| |
|
| | namespace Unity.MLAgents.Editor |
| | { |
| | [CustomEditor(typeof(CameraSensorComponent), editorForChildClasses: true)] |
| | [CanEditMultipleObjects] |
| | internal class CameraSensorComponentEditor : UnityEditor.Editor |
| | { |
| | public override void OnInspectorGUI() |
| | { |
| | var so = serializedObject; |
| | so.Update(); |
| |
|
| | |
| | EditorGUI.BeginChangeCheck(); |
| |
|
| | EditorGUILayout.PropertyField(so.FindProperty("m_Camera"), true); |
| | EditorGUI.BeginDisabledGroup(!EditorUtilities.CanUpdateModelProperties()); |
| | { |
| | |
| | |
| | EditorGUILayout.PropertyField(so.FindProperty("m_SensorName"), true); |
| | EditorGUILayout.PropertyField(so.FindProperty("m_Width"), true); |
| | EditorGUILayout.PropertyField(so.FindProperty("m_Height"), true); |
| | EditorGUILayout.PropertyField(so.FindProperty("m_Grayscale"), true); |
| | EditorGUILayout.PropertyField(so.FindProperty("m_ObservationStacks"), true); |
| | EditorGUILayout.PropertyField(so.FindProperty("m_ObservationType"), true); |
| | } |
| | EditorGUI.EndDisabledGroup(); |
| | EditorGUILayout.PropertyField(so.FindProperty("m_RuntimeCameraEnable"), true); |
| | EditorGUILayout.PropertyField(so.FindProperty("m_Compression"), true); |
| |
|
| | var requireSensorUpdate = EditorGUI.EndChangeCheck(); |
| | so.ApplyModifiedProperties(); |
| |
|
| | if (requireSensorUpdate) |
| | { |
| | UpdateSensor(); |
| | } |
| | } |
| |
|
| | void UpdateSensor() |
| | { |
| | var sensorComponent = serializedObject.targetObject as CameraSensorComponent; |
| | sensorComponent?.UpdateSensor(); |
| | } |
| | } |
| | } |
| |
|