public static void SetValueGUI(this BindSetValue setValue)
 {
     EditorGUILayout.BeginHorizontal((GUIStyle)"box");
     setValue.DescriptionGUI();
     if (GUILayout.Button("B", EditorStyles.miniButtonRight, GUILayout.Width(20)))
     {
         BindWindow.Show(setValue);
     }
     EditorGUILayout.EndHorizontal();
 }
        public static void GetValueGUI(this GetValue value)
        {
            if (value.Lable != "")
            {
                GUILayout.Label(value.Lable);
            }
            EditorGUILayout.BeginHorizontal((GUIStyle)"box");
            if (value.ValueType == GetValue.ValueTypes.Const)
            {
                value.ConstValue.OnGUI("Value");

                if (GUILayout.Button("B", EditorStyles.miniButtonRight, GUILayout.Width(20)))
                {
                    value.ValueType = GetValue.ValueTypes.Bind;
                    BindWindow.Show(value.BindValue);
                }
            }

            if (value.ValueType == GetValue.ValueTypes.Bind)
            {
                value.BindValue.DescriptionGUI();

                if (GUILayout.Button("B", EditorStyles.miniButtonRight, GUILayout.Width(20)))
                {
                    BindWindow.Show(value.BindValue);
                }

                if (GUILayout.Button("X", EditorStyles.miniButtonRight, GUILayout.Width(20)))
                {
                    if (ConstValueGUI.IsSupported(value.Type))
                    {
                        value.ValueType = GetValue.ValueTypes.Const;
                    }
                }
            }

            EditorGUILayout.EndHorizontal();
            return;
        }