public bool CheckValidTarget(AnimalTargetPreferenceRel tpr, Animal an, Fraction targetFrac) // Transform target) { { if (targetFrac == null) { return(false); } if (!an) { return(false); } NumberInfo animalNi = an.GetComponent <NumberInfo>(); // Debug.Log("hi.."); bool ret = false; // Debug.Log("ret!"); switch (tpr.preference) { case AnimalTargetPreference.Nothing: ret = false; break; case AnimalTargetPreference.Everything: ret = true; break; case AnimalTargetPreference.GreaterThanItself: ret = Fraction.Greater(targetFrac, animalNi.fraction); break; case AnimalTargetPreference.LessThanItself: ret = Fraction.Greater(animalNi.fraction, targetFrac); break; case AnimalTargetPreference.GreaterThanX: ret = Fraction.Greater(targetFrac, new Fraction(tpr.preferenceInt, 1)); break; case AnimalTargetPreference.LessThanX: ret = Fraction.Greater(new Fraction(tpr.preferenceInt, 1), targetFrac); break; case AnimalTargetPreference.PrimesOnly: ret = MathUtils.isPrime(targetFrac.numerator); break; case AnimalTargetPreference.FactorsOfItself: ret = MathUtils.AIsFactorOfB(targetFrac, animalNi.fraction); break; case AnimalTargetPreference.MultiplesOfItself: ret = MathUtils.AIsFactorOfB(animalNi.fraction, targetFrac); // // commented Debug.Log("ret false for "+animalNi.fraction.numerator+" is a factor of "+targetNi.fraction.numerator+"."); break; case AnimalTargetPreference.FactorsOfX: ret = MathUtils.AIsFactorOfB(targetFrac, new Fraction(tpr.preferenceInt, 1)); break; case AnimalTargetPreference.MultiplesOfX: ret = MathUtils.AIsFactorOfB(new Fraction(tpr.preferenceInt, 1), new Fraction(Mathf.Abs(targetFrac.numerator), targetFrac.denominator)); break; case AnimalTargetPreference.OnlyX: ret = Fraction.Equals(targetFrac, new Fraction(tpr.preferenceInt, 1)); break; case AnimalTargetPreference.EverythingButItsOwnNumber: ret = !Fraction.Equals(targetFrac, animalNi.fraction); break; default: break; } // Debug.Log("ret final:"+ret); // // commented Debug.Log("hmm:"+ret); // // commented Debug.Log("Target preference wa:"+tpr.preference.ToString()+", anni:"+animalNi.fraction.numerator+",targtni:"+targetNi.fraction.numerator+"..__result__:"+ret); return(ret); }