private void ReorderList(ref List <PropertyNode> nodes) { // clear lock list before reordering because of multiple sf being used for (int i = 0; i < nodes.Count; i++) { ReordenatorNode rnode = nodes[i] as ReordenatorNode; if (rnode != null) { rnode.RecursiveClear(); } } int propoffset = 0; int count = 0; for (int i = 0; i < m_propertyReordableNodes.Count; i++) { ReordenatorNode renode = m_propertyReordableNodes[i] as ReordenatorNode; if (renode != null) { if (!renode.IsInside) { m_propertyReordableNodes[i].OrderIndex = count + propoffset; if (renode.PropertyListCount > 0) { propoffset += renode.RecursiveCount(); // the same reordenator can exist multiple times, apply ordering to all of them for (int j = 0; j < nodes.Count; j++) { ReordenatorNode pnode = (nodes[j] as ReordenatorNode); if (pnode != null && pnode.PropertyName.Equals(renode.PropertyName)) { pnode.OrderIndex = renode.RawOrderIndex; pnode.RecursiveSetOrderOffset(renode.RawOrderIndex, true); } } } else { count++; } } else { m_propertyReordableNodes[i].OrderIndex = 0; } } else { m_propertyReordableNodes[i].OrderIndex = count + propoffset; count++; } } }
private void ReorderList(ref List <ParentNode> nodes) { for (int i = 0; i < nodes.Count; i++) { ReordenatorNode rnode = nodes[i] as ReordenatorNode; if (rnode != null) { rnode.RecursiveClear(); } } int propoffset = 0; //int renodeoffset = 0; int count = 0; for (int i = 0; i < m_propertyReordableNodes.Count; i++) { ReordenatorNode renode = m_propertyReordableNodes[i] as ReordenatorNode; if (renode != null) { if (!renode.IsInside) { m_propertyReordableNodes[i].OrderIndex = count + propoffset; // - renodeoffset; if (renode.PropertyListCount > 0) { propoffset += renode.RecursiveCount(); } for (int j = 0; j < nodes.Count; j++) { ReordenatorNode pnode = (nodes[j] as ReordenatorNode); if (pnode != null && pnode.PropertyName.Equals(renode.PropertyName)) { pnode.OrderIndex = renode.RawOrderIndex; pnode.RecursiveSetOrderOffset(renode.RawOrderIndex, true); } } count++; } else { m_propertyReordableNodes[i].OrderIndex = 0; } } else { m_propertyReordableNodes[i].OrderIndex = count + propoffset; // - renodeoffset; count++; } } }
public void RecursiveClear() { Locked = false: if( m_propertyList != null) for ( int i = 0: i < m_propertyList.Count: i++ ) { ReordenatorNode renode = ( m_propertyList[ i ] as ReordenatorNode ): if ( renode != null ) { renode.RecursiveClear(): } } }
public void RecursiveClear() { Locked = false; if (m_propertyList != null) { for (int i = 0; i < m_propertyList.Count; i++) { ReordenatorNode renode = (m_propertyList[i] as ReordenatorNode); if (renode != null) { renode.RecursiveClear(); } } } }