/// <summary> /// Raises the perform undoable action event. Invoked when inspector is modified or context menu item is /// selected (e.g., Revert Value to Prefab, Set to Value of). /// </summary> /// <param name="modifications">Information about what properties were modified by the action.</param> private static UndoPropertyModification[] OnPerformUndoableAction(UndoPropertyModification[] modifications) { HashSet<HashableSerializedProperty> propertyModifications = new HashSet<HashableSerializedProperty>( #if UNITY_4_6 || UNITY_5_0 (from mod in modifications select new HashableSerializedProperty(mod.propertyModification)).Where( #else (from mod in modifications select new HashableSerializedProperty(mod.currentValue)).Where( #endif mod => mod.SerializedProperty != null ) ); // add all upstream properties so parent setters are called foreach (HashableSerializedProperty modification in propertyModifications.ToArray()) { foreach (HashableSerializedProperty upstreamProperty in GetUpstreamProperties(modification)) { propertyModifications.Add(upstreamProperty); } } // trigger setters for all modified properties TriggerSettersForKnownModifications(propertyModifications); return modifications; }
/// <summary> /// <para>Test if deleting a changeset is a valid task to perform.</para> /// </summary> /// <param name="changesets">Changeset to test.</param> public static bool DeleteChangeSetsIsValid(UnityEditor.VersionControl.ChangeSets changesets) { return Internal_DeleteChangeSetsIsValid(changesets.ToArray()); }
internal static Task RevertChangeSets(UnityEditor.VersionControl.ChangeSets changesets, RevertMode mode) { return Internal_RevertChangeSets(changesets.ToArray(), mode); }
/// <summary> /// <para>Starts a task that will attempt to delete the given changeset.</para> /// </summary> /// <param name="changesets">List of changetsets.</param> public static Task DeleteChangeSets(UnityEditor.VersionControl.ChangeSets changesets) { return Internal_DeleteChangeSets(changesets.ToArray()); }