예제 #1
0
        public static void IsAllowed_Postfix(ThingFilter __instance, ref bool __result, Thing t)
        {
            if (!__result)
            {
                return;
            }

            MyWorldComponent world = Find.World.GetComponent <MyWorldComponent>();
            CompRottable     rot   = t.TryGetComp <CompRottable>();

            if (rot != null && world.ShowSpoilTime(__instance))
            {
                IntRange spoilTickRange = SpoilTimeCalc.convertToTicks(world.getSpoilTime(__instance));
                int      spoilTicks     = rot.TicksUntilRotAtTemp(25.0f);

                if (spoilTickRange.min == -1 || spoilTicks < spoilTickRange.min)
                {
                    __result = false;
                }
                else if (spoilTickRange.max != -1 && spoilTicks > spoilTickRange.max)
                {
                    __result = false;
                }
            }
        }
예제 #2
0
 public static int TicksUntilRotAtSetTemp(CompRottable instance, float temp)
 {
     temp = (float)Mathf.RoundToInt(temp);
     return(instance.TicksUntilRotAtTemp(temp));
 }