public void GetMouseActiveOffspringZSorted(ref SortedList a_plSprites, ref int a_nOrderCount) { foreach (DictionaryEntry de in this._slChildrenLocZSorted) { Sprite sp = (Sprite)de.Value; // foreach (DataRowView row in m_dvChildrenLocZSorted) // { // Sprite sp = ((Sprite)m_plChildrenByHash[(int)row["Hash"]]); if (sp.MouseActive) { a_plSprites.Add(a_nOrderCount, sp); } a_nOrderCount++; if (sp.ChildCount > 0) { sp.GetMouseActiveOffspringZSorted(ref a_plSprites, ref a_nOrderCount); } } }