private List <AnimationWindowCurve> GetCurvesAffectedByNodes(List <AnimationWindowHierarchyNode> nodes, bool includeLinkedCurves) { List <AnimationWindowCurve> curves = new List <AnimationWindowCurve>(); foreach (var node in nodes) { AnimationWindowHierarchyNode hierarchyNode = node; if (hierarchyNode.parent is AnimationWindowHierarchyPropertyGroupNode && includeLinkedCurves) { hierarchyNode = (AnimationWindowHierarchyNode)hierarchyNode.parent; } if (hierarchyNode.curves == null) { continue; } if (hierarchyNode.curves.Length > 0) { // Property or propertygroup if (hierarchyNode is AnimationWindowHierarchyPropertyGroupNode || hierarchyNode is AnimationWindowHierarchyPropertyNode) { curves.AddRange(AnimationWindowUtility.FilterCurves(hierarchyNode.curves, hierarchyNode.path, hierarchyNode.animatableObjectType, hierarchyNode.propertyName)); } else { curves.AddRange(AnimationWindowUtility.FilterCurves(hierarchyNode.curves, hierarchyNode.path, hierarchyNode.animatableObjectType)); } } } return(curves.Distinct().ToList()); }
private List <AnimationWindowCurve> GetCurvesAffectedByNodes(List <AnimationWindowHierarchyNode> nodes, bool includeLinkedCurves) { List <AnimationWindowCurve> list = new List <AnimationWindowCurve>(); foreach (AnimationWindowHierarchyNode current in nodes) { AnimationWindowHierarchyNode animationWindowHierarchyNode = current; if (animationWindowHierarchyNode.parent is AnimationWindowHierarchyPropertyGroupNode && includeLinkedCurves) { animationWindowHierarchyNode = (AnimationWindowHierarchyNode)animationWindowHierarchyNode.parent; } if (animationWindowHierarchyNode.curves.Length > 0) { if (animationWindowHierarchyNode is AnimationWindowHierarchyPropertyGroupNode || animationWindowHierarchyNode is AnimationWindowHierarchyPropertyNode) { list.AddRange(AnimationWindowUtility.FilterCurves(animationWindowHierarchyNode.curves, animationWindowHierarchyNode.path, animationWindowHierarchyNode.animatableObjectType, animationWindowHierarchyNode.propertyName)); } else { list.AddRange(AnimationWindowUtility.FilterCurves(animationWindowHierarchyNode.curves, animationWindowHierarchyNode.path, animationWindowHierarchyNode.animatableObjectType)); } } } return(list.Distinct <AnimationWindowCurve>().ToList <AnimationWindowCurve>()); }
private void RemoveCurvesFromNodes(List <AnimationWindowHierarchyNode> nodes) { foreach (AnimationWindowHierarchyNode current in nodes) { AnimationWindowHierarchyNode animationWindowHierarchyNode = current; if (animationWindowHierarchyNode.parent is AnimationWindowHierarchyPropertyGroupNode) { EditorCurveBinding?binding = animationWindowHierarchyNode.binding; if (binding.HasValue) { EditorCurveBinding?binding2 = animationWindowHierarchyNode.binding; if (AnimationWindowUtility.ForceGrouping(binding2.Value)) { animationWindowHierarchyNode = (AnimationWindowHierarchyNode)animationWindowHierarchyNode.parent; } } } List <AnimationWindowCurve> list; if (animationWindowHierarchyNode is AnimationWindowHierarchyPropertyGroupNode || animationWindowHierarchyNode is AnimationWindowHierarchyPropertyNode) { list = AnimationWindowUtility.FilterCurves(this.state.allCurves.ToArray(), animationWindowHierarchyNode.path, animationWindowHierarchyNode.animatableObjectType, animationWindowHierarchyNode.propertyName); } else { list = AnimationWindowUtility.FilterCurves(this.state.allCurves.ToArray(), animationWindowHierarchyNode.path, animationWindowHierarchyNode.animatableObjectType); } foreach (AnimationWindowCurve current2 in list) { this.state.RemoveCurve(current2); } } this.m_TreeView.ReloadData(); }
private void RemoveCurvesFromNodes(List <AnimationWindowHierarchyNode> nodes) { foreach (AnimationWindowHierarchyNode node in nodes) { AnimationWindowHierarchyNode parent = node; if (((parent.parent is AnimationWindowHierarchyPropertyGroupNode) && parent.binding.HasValue) && AnimationWindowUtility.ForceGrouping(parent.binding.Value)) { parent = (AnimationWindowHierarchyNode)parent.parent; } List <AnimationWindowCurve> list = null; if ((parent is AnimationWindowHierarchyPropertyGroupNode) || (parent is AnimationWindowHierarchyPropertyNode)) { list = AnimationWindowUtility.FilterCurves(this.state.allCurves.ToArray(), parent.path, parent.animatableObjectType, parent.propertyName); } else { list = AnimationWindowUtility.FilterCurves(this.state.allCurves.ToArray(), parent.path, parent.animatableObjectType); } foreach (AnimationWindowCurve curve in list) { this.state.RemoveCurve(curve); } } base.m_TreeView.ReloadData(); }
private List <AnimationWindowCurve> GetCurvesAffectedByNodes(List <AnimationWindowHierarchyNode> nodes, bool includeLinkedCurves) { List <AnimationWindowCurve> source = new List <AnimationWindowCurve>(); using (List <AnimationWindowHierarchyNode> .Enumerator enumerator = nodes.GetEnumerator()) { while (enumerator.MoveNext()) { AnimationWindowHierarchyNode windowHierarchyNode = enumerator.Current; if (windowHierarchyNode.parent is AnimationWindowHierarchyPropertyGroupNode && includeLinkedCurves) { windowHierarchyNode = (AnimationWindowHierarchyNode)windowHierarchyNode.parent; } if (windowHierarchyNode is AnimationWindowHierarchyPropertyGroupNode || windowHierarchyNode is AnimationWindowHierarchyPropertyNode) { source.AddRange((IEnumerable <AnimationWindowCurve>)AnimationWindowUtility.FilterCurves(this.state.allCurves.ToArray(), windowHierarchyNode.path, windowHierarchyNode.animatableObjectType, windowHierarchyNode.propertyName)); } else { source.AddRange((IEnumerable <AnimationWindowCurve>)AnimationWindowUtility.FilterCurves(this.state.allCurves.ToArray(), windowHierarchyNode.path, windowHierarchyNode.animatableObjectType)); } } } return(source.Distinct <AnimationWindowCurve>().ToList <AnimationWindowCurve>()); }
private void RemoveCurvesFromNodes(List <AnimationWindowHierarchyNode> nodes) { string undoLabel = "Remove Curve"; this.state.SaveKeySelection(undoLabel); foreach (AnimationWindowHierarchyNode current in nodes) { AnimationWindowHierarchyNode animationWindowHierarchyNode = current; if (animationWindowHierarchyNode.parent is AnimationWindowHierarchyPropertyGroupNode) { EditorCurveBinding?binding = animationWindowHierarchyNode.binding; if (binding.HasValue) { EditorCurveBinding?binding2 = animationWindowHierarchyNode.binding; if (AnimationWindowUtility.ForceGrouping(binding2.Value)) { animationWindowHierarchyNode = (AnimationWindowHierarchyNode)animationWindowHierarchyNode.parent; } } } if (animationWindowHierarchyNode.curves != null) { List <AnimationWindowCurve> list; if (animationWindowHierarchyNode is AnimationWindowHierarchyPropertyGroupNode || animationWindowHierarchyNode is AnimationWindowHierarchyPropertyNode) { list = AnimationWindowUtility.FilterCurves(animationWindowHierarchyNode.curves.ToArray <AnimationWindowCurve>(), animationWindowHierarchyNode.path, animationWindowHierarchyNode.animatableObjectType, animationWindowHierarchyNode.propertyName); } else { list = AnimationWindowUtility.FilterCurves(animationWindowHierarchyNode.curves.ToArray <AnimationWindowCurve>(), animationWindowHierarchyNode.path, animationWindowHierarchyNode.animatableObjectType); } foreach (AnimationWindowCurve current2 in list) { this.state.RemoveCurve(current2, undoLabel); } } } this.m_TreeView.ReloadData(); if (this.state.recording) { this.state.ResampleAnimation(); } }
private void RemoveCurvesFromNodes(List <AnimationWindowHierarchyNode> nodes) { string undoLabel = "Remove Curve"; state.SaveKeySelection(undoLabel); foreach (var node in nodes) { AnimationWindowHierarchyNode hierarchyNode = (AnimationWindowHierarchyNode)node; if (hierarchyNode.parent is AnimationWindowHierarchyPropertyGroupNode && hierarchyNode.binding != null && AnimationWindowUtility.ForceGrouping((EditorCurveBinding)hierarchyNode.binding)) { hierarchyNode = (AnimationWindowHierarchyNode)hierarchyNode.parent; } if (hierarchyNode.curves == null) { continue; } List <AnimationWindowCurve> curves = null; // Property or propertygroup if (hierarchyNode is AnimationWindowHierarchyPropertyGroupNode || hierarchyNode is AnimationWindowHierarchyPropertyNode) { curves = AnimationWindowUtility.FilterCurves(hierarchyNode.curves.ToArray(), hierarchyNode.path, hierarchyNode.animatableObjectType, hierarchyNode.propertyName); } else { curves = AnimationWindowUtility.FilterCurves(hierarchyNode.curves.ToArray(), hierarchyNode.path, hierarchyNode.animatableObjectType); } foreach (AnimationWindowCurve animationWindowCurve in curves) { state.RemoveCurve(animationWindowCurve, undoLabel); } } m_TreeView.ReloadData(); state.controlInterface.ResampleAnimation(); }
private List <AnimationWindowCurve> GetCurvesAffectedByNodes(List <AnimationWindowHierarchyNode> nodes, bool includeLinkedCurves) { List <AnimationWindowCurve> source = new List <AnimationWindowCurve>(); foreach (AnimationWindowHierarchyNode node in nodes) { AnimationWindowHierarchyNode parent = node; if ((parent.parent is AnimationWindowHierarchyPropertyGroupNode) && includeLinkedCurves) { parent = (AnimationWindowHierarchyNode)parent.parent; } if ((parent is AnimationWindowHierarchyPropertyGroupNode) || (parent is AnimationWindowHierarchyPropertyNode)) { source.AddRange(AnimationWindowUtility.FilterCurves(this.state.allCurves.ToArray(), parent.path, parent.animatableObjectType, parent.propertyName)); } else { source.AddRange(AnimationWindowUtility.FilterCurves(this.state.allCurves.ToArray(), parent.path, parent.animatableObjectType)); } } return(source.Distinct <AnimationWindowCurve>().ToList <AnimationWindowCurve>()); }
public List <AnimationWindowCurve> GetCurves(AnimationWindowHierarchyNode hierarchyNode, bool entireHierarchy) { return(AnimationWindowUtility.FilterCurves(this.allCurves.ToArray(), hierarchyNode.path, hierarchyNode.animatableObjectType, hierarchyNode.propertyName)); }
private void RemoveCurvesFromNodes(List <AnimationWindowHierarchyNode> nodes) { using (List <AnimationWindowHierarchyNode> .Enumerator enumerator1 = nodes.GetEnumerator()) { while (enumerator1.MoveNext()) { AnimationWindowHierarchyNode windowHierarchyNode = enumerator1.Current; if (windowHierarchyNode.parent is AnimationWindowHierarchyPropertyGroupNode && windowHierarchyNode.binding.HasValue && AnimationWindowUtility.ForceGrouping(windowHierarchyNode.binding.Value)) { windowHierarchyNode = (AnimationWindowHierarchyNode)windowHierarchyNode.parent; } using (List <AnimationWindowCurve> .Enumerator enumerator2 = (windowHierarchyNode is AnimationWindowHierarchyPropertyGroupNode || windowHierarchyNode is AnimationWindowHierarchyPropertyNode ? AnimationWindowUtility.FilterCurves(this.state.allCurves.ToArray(), windowHierarchyNode.path, windowHierarchyNode.animatableObjectType, windowHierarchyNode.propertyName) : AnimationWindowUtility.FilterCurves(this.state.allCurves.ToArray(), windowHierarchyNode.path, windowHierarchyNode.animatableObjectType)).GetEnumerator()) { while (enumerator2.MoveNext()) { this.state.RemoveCurve(enumerator2.Current); } } } } this.m_TreeView.ReloadData(); }