private bool doIdenticalRelatedObjectsExist(gamedata lhsData, gamedata rhsData, string datatype, filterDelegate filter) { foreach (gamedataObject lhsObject in lhsData.Items.Where <gamedataObject>(iter => [email protected](datatype) && iter.deleted == "False" && filter(iter))) { if (!doesIdenticalObjectExist(lhsObject, rhsData)) { return(false); } } foreach (gamedataObject rhsObject in rhsData.Items.Where <gamedataObject>(iter => [email protected](datatype) && iter.deleted == "False" && filter(iter))) { if (!doesIdenticalObjectExist(rhsObject, lhsData)) { return(false); } } return(true); }
public void Filter(filterDelegate filterMethod) { for(int i = 0; i < cList.Count; i++) { Card c = cList[i]; Debug.Log(c.name); if(!filterMethod(c)) { Debug.Log(c.name + " was removed. (Grade " + c.grade + ")"); cList.RemoveAt(i); gList.RemoveAt(i); i--; } else { Debug.Log(c.name + " was NOT removed. (Grade " + c.grade + ")"); } } }