/// <summary>
 /// Remove cells with  (c.column >= horSize) && (c.row >= vertSize)
 ///
 /// </summary>
 /// <param name="list"></param>
 private void CleanOveralyObjects(List <CellData> list)
 {
     if (list != null && mSet != null)
     {
         list.RemoveAll((c) => { return(!BubbleGrid.ok(c.Row, c.Column, vertSize, horSize) || !mSet.ContainOverlayID(c.ID)); });
     }
 }
        public void Clean(GameObjectsSet gOS)
        {
            Action <List <CellData> > cAction = (arr) =>
            {
                if (arr != null)
                {
                    arr.RemoveAll((c) =>
                    {
                        return(!BubbleGrid.ok(c.Row, c.Column, vertSize, horSize));
                    });

                    if (gOS)
                    {
                        arr.RemoveAll((c) =>
                        {
                            return(!gOS.ContainID(c.ID));
                        });
                    }
                }
            };

            cAction(featuredCells);
            cAction(overlays);
            SetAsDirty();
        }