コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public static bool PlayerCanMake(ThingDef thing, Map map)
 {
     PlayerItemAccessibilityUtility.CacheAccessibleThings(map.Tile);
     return(PlayerItemAccessibilityUtility.cachedMakeableItemDefs.Contains(thing));
 }