using UnityEditor; using UnityEditor.UIElements; using UnityEngine.Experimental.Perception.Randomization.Scenarios; using UnityEngine.Experimental.Perception.Randomization.VisualElements; using UnityEngine.UIElements; namespace UnityEngine.Experimental.Perception.Randomization.Editor { [CustomEditor(typeof(ScenarioBase), true)] class ScenarioBaseEditor : UnityEditor.Editor { ScenarioBase m_Scenario; SerializedObject m_SerializedObject; VisualElement m_Root; VisualElement m_InspectorPropertiesContainer; VisualElement m_ConstantsContainer; VisualElement m_RandomizerListPlaceholder; SerializedProperty m_ConstantsProperty; public override VisualElement CreateInspectorGUI() { m_Scenario = (ScenarioBase)target; m_SerializedObject = new SerializedObject(m_Scenario); m_Root = AssetDatabase.LoadAssetAtPath( $"{StaticData.uxmlDir}/ScenarioBaseElement.uxml").CloneTree(); m_RandomizerListPlaceholder = m_Root.Q("randomizer-list-placeholder"); CreatePropertyFields(); CheckIfConstantsExist(); var serializeConstantsButton = m_Root.Q