using System; using System.Linq; using UnityEditor; using UnityEditor.UIElements; using UnityEngine.Experimental.Perception.Randomization.Parameters; using UnityEngine.Experimental.Perception.Randomization.Samplers; using UnityEngine.UIElements; namespace UnityEngine.Experimental.Perception.Randomization.Editor { class SamplerElement : VisualElement { Parameter m_Parameter; ISampler m_Sampler; SerializedProperty m_Property; SerializedProperty m_RangeProperty; VisualElement m_Properties; ToolbarMenu m_SamplerTypeDropdown; public SamplerElement(SerializedProperty property, Parameter parameter) { m_Property = property; var template = AssetDatabase.LoadAssetAtPath( $"{StaticData.uxmlDir}/Sampler/SamplerElement.uxml"); template.CloneTree(this); m_Parameter = parameter; m_Sampler = GetSamplerFromSerializedObject(); if (m_Sampler == null) CreateSampler(typeof(UniformSampler)); var samplerName = this.Q