Nanook.TheGhost.ProjectSong.clearAllQbItems C# (CSharp) Method

clearAllQbItems() private method

private clearAllQbItems ( QbFile qbFile, List ghItems ) : void
qbFile Nanook.QueenBee.Parser.QbFile
ghItems List
return void
        private void clearAllQbItems(QbFile qbFile, List<GhNotesItem> ghItems, params QbKey[] skipItems)
        {
            bool found;
            uint crc;
            foreach (QbItemBase qib in qbFile.Items)
            {
                if (!(qib is QbItemArray))
                    continue; //skip non array items

                found = false;
                crc = qib.ItemQbKey.Crc;

                foreach (GhNotesItem gii in ghItems)
                {
                    if (gii.SongNotesQbKey.Crc == crc || gii.SongStarPowerQbKey.Crc == crc || gii.SongStarPowerBattleQbKey.Crc == crc)
                    {
                        found = true;
                        break;
                    }
                }

                if (!found)
                {
                    foreach (QbKey qbk in skipItems)
                    {
                        if (qbk.Crc == crc)
                        {
                            found = true;
                            break;
                        }
                    }
                }

                if (!found)
                {
                    if (qib.Items[0].QbItemType != QbItemType.Floats)
                        clearQbItems((QbItemArray)qib);
                }
            }
        }