Beispiel #1
0
 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 + ")");
            }
        }
    }