using System; using UnityEditor; using UnityEditor.Toolbars; using UnityEngine; namespace Unity.Splines.Examples { [EditorToolbarElement("SpeedTiltTool/SplineDataType")] public class SpeedTiltDropdown : EditorToolbarDropdown { string[] m_SplineDataTypes = new [] { SpeedTiltTool.SplineDataType.SpeedData.ToString(), SpeedTiltTool.SplineDataType.TiltData.ToString() }; public string k_Tooltip = "Select the SplineData to target for interactions."; public SpeedTiltDropdown() { name = "SplineData Target Type"; clicked += OpenContextMenu; text = m_SplineDataTypes[(int)SpeedTiltTool.selectedSplineData]; } void OpenContextMenu() { var menu = new GenericMenu(); for(int i = 0; i< m_SplineDataTypes.Length; i++) { var index = i; var component = m_SplineDataTypes[i]; menu.AddItem(new GUIContent(component, k_Tooltip), text == component, () => SetSelectedComponent(index)); } menu.DropDown(worldBound); } void SetSelectedComponent(int selectedIndex) { text = m_SplineDataTypes[selectedIndex]; SpeedTiltTool.selectedSplineData = (SpeedTiltTool.SplineDataType)selectedIndex; } } }