public static bool Accessible(ThingDef thing, int count, Map map) { PlayerItemAccessibilityUtility.CacheAccessibleThings(map.Tile); int num = 0; for (int i = 0; i < PlayerItemAccessibilityUtility.cachedAccessibleThings.Count; i++) { if (PlayerItemAccessibilityUtility.cachedAccessibleThings[i].def == thing) { num += PlayerItemAccessibilityUtility.cachedAccessibleThings[i].stackCount; } } return(num >= count); }
public static bool PossiblyAccessible(ThingDef thing, int count, Map map) { if (PlayerItemAccessibilityUtility.Accessible(thing, count, map)) { return(true); } PlayerItemAccessibilityUtility.CacheAccessibleThings(map.Tile); int num = 0; for (int i = 0; i < PlayerItemAccessibilityUtility.cachedPossiblyAccessibleThings.Count; i++) { if (PlayerItemAccessibilityUtility.cachedPossiblyAccessibleThings[i].ThingDef == thing) { num += PlayerItemAccessibilityUtility.cachedPossiblyAccessibleThings[i].Count; } } return(num >= count); }
public static bool PlayerCanMake(ThingDef thing, Map map) { PlayerItemAccessibilityUtility.CacheAccessibleThings(map.Tile); return(PlayerItemAccessibilityUtility.cachedMakeableItemDefs.Contains(thing)); }