private float GetResearchBenchRequirementsScore(Building_ResearchBench bench, List <ThingDef> requiredFacilities) { float num = 0f; for (int i = 0; i < requiredFacilities.Count; i++) { CompAffectedByFacilities benchComp = bench.GetComp <CompAffectedByFacilities>(); if (benchComp != null) { List <Thing> linkedFacilitiesListForReading = benchComp.LinkedFacilitiesListForReading; if (linkedFacilitiesListForReading.Find((Thing x) => x.def == requiredFacilities[i] && benchComp.IsFacilityActive(x)) != null) { num += 1f; } else if (linkedFacilitiesListForReading.Find((Thing x) => x.def == requiredFacilities[i]) != null) { num += 0.6f; } } } return(num); }