public bool CheckChildrenMouse(MouseEventArgs e, EPointF a_pntLocalLoc, bool a_bButtonAction, bool a_bDown) { bool bContinueChecking = true; m_bLooping = true; a_pntLocalLoc = this.ConvParentLocToSrcLoc(a_pntLocalLoc); for (int i = this._slChildrenLocZSorted.Count - 1; i >= 0; i--) { Sprite sp = (Sprite)this._slChildrenLocZSorted.GetByIndex(i); // foreach (DataRowView row in m_dvChildrenLocZInverseSorted) //m_dvChildrenLocZInverseSorted m_dvChildrenLocZSorted // { // Sprite sp = ((Sprite)m_plChildrenByHash[(int)row["Hash"]]); if (sp.ChildCount > 0) { bContinueChecking = sp.CheckChildrenMouse(e, a_pntLocalLoc, a_bButtonAction, a_bDown); } if (bContinueChecking && sp.MouseActive) { bContinueChecking = sp.CheckMouse(e, a_pntLocalLoc, a_bButtonAction, a_bDown); } if (!bContinueChecking) { break; } } m_bLooping = false; return(bContinueChecking); }