예제 #1
0
 protected void DeleteElement(SerializedProperty property, int indexToRemove, DeleteElementCallback deleteElementCallback = null)
 {
     AttributeUtility.toRemove[fieldInfo.DeclaringType + property.name] = indexToRemove;
     if (deleteElementCallback != null)
     {
         deleteElementCallback();
     }
 }
예제 #2
0
        protected void DeleteElement(SerializedProperty property, int indexToRemove, DeleteElementCallback deleteElementCallback = null)
        {
            property.DeleteArrayElementAtIndex(indexToRemove);
            property.serializedObject.ApplyModifiedProperties();
            EditorUtility.SetDirty(property.serializedObject.targetObject);
            deleteBreak = true;

            if (deleteElementCallback != null)
            {
                deleteElementCallback();
            }
        }
예제 #3
0
    protected bool DeleteElementButtonWithArrows(Rect position, SerializedProperty property, int indexToRemove, DeleteElementCallback deleteElementCallback = null)
    {
        bool pressed = false;

        MoveElementArrows(new Rect(position.x - 13, position.y, position.width, position.height), property, indexToRemove);
        pressed = DeleteElementButton(position, property, indexToRemove, deleteElementCallback);
        return(pressed);
    }
예제 #4
0
    protected bool DeleteElementButton(Rect position, SerializedProperty property, int indexToRemove, DeleteElementCallback deleteElementCallback = null)
    {
        bool pressed = false;

        if (DeleteElementButton(position))
        {
            DeleteElement(property, indexToRemove, deleteElementCallback);
            pressed = true;
        }
        return(pressed);
    }
예제 #5
0
        protected bool DeleteElementButtonWithArrows(SerializedProperty property, int indexToRemove, DeleteElementCallback deleteElementCallback = null)
        {
            bool pressed = false;

            EditorGUILayout.BeginHorizontal();
            MoveElementArrows(property, indexToRemove);
            pressed = DeleteElementButton(property, indexToRemove, deleteElementCallback);
            EditorGUILayout.EndHorizontal();
            return(pressed);
        }
예제 #6
0
 protected bool DeleteElementFoldOutWithArrows(SerializedProperty property, int index, bool showing, string label, DeleteElementCallback deleteElementCallback = null)
 {
     return(DeleteElementFoldOutWithArrows(property, index, showing, new GUIContent(label), deleteElementCallback));
 }
예제 #7
0
 protected bool DeleteElementFoldOutWithArrows(SerializedProperty property, int index, bool showing, GUIContent label, DeleteElementCallback deleteElementCallback = null)
 {
     EditorGUILayout.BeginHorizontal();
     showing = EditorGUILayout.Foldout(showing, label);
     DeleteElementButtonWithArrows(property, index, deleteElementCallback);
     EditorGUILayout.EndHorizontal();
     return(showing);
 }
예제 #8
0
 protected bool DeleteElementFoldOut(SerializedProperty property, int index, GUIContent label, DeleteElementCallback deleteElementCallback = null)
 {
     return(DeleteElementFoldOut(property, index, new GUIContent(label), EditorStyles.foldout, deleteElementCallback));
 }
예제 #9
0
        protected bool DeleteElementFoldOut(SerializedProperty property, int index, GUIContent label, GUIStyle style, DeleteElementCallback deleteElementCallback = null)
        {
            EditorGUILayout.BeginHorizontal();

            SerializedProperty elementProperty = property.GetArrayElementAtIndex(index);

            elementProperty.isExpanded = EditorGUILayout.Foldout(elementProperty.isExpanded, label, style);
            bool pressed = DeleteElementButton(property, index, deleteElementCallback);

            EditorGUILayout.EndHorizontal();

            return(pressed);
        }