Ejemplo n.º 1
0
        public override void TickRare()
        {
            var comps = AllComps;

            for (var i = 0; i < comps.Count; i++)
            {
                comps[i].CompTickRare();
            }

            if (Spawned && Bugged == false)
            {
                if (RottableUtility.GetRotStage(this) == RotStage.Dessicated)
                {
                    Destroy(DestroyMode.Vanish);
                    return;
                }

                if (Map.thingGrid.ThingsListAtFast(Position).Any(thing => thing is Blueprint || thing is Frame))
                {
                    Destroy(DestroyMode.Vanish);
                    return;
                }
            }

            comps = InnerPawn.AllComps;
            for (var i = 0; i < comps.Count; i++)
            {
                comps[i].CompTickRare();
            }
        }
Ejemplo n.º 2
0
        public override void TickRare()
        {
            var comps = AllComps;

            for (int i = 0; i < comps.Count; i++)
            {
                comps[i].CompTickRare();
            }

            if (Destroyed == false && Bugged == false)
            {
                if (RottableUtility.GetRotStage(this) == RotStage.Dessicated)
                {
                    Destroy(DestroyMode.Vanish);
                    return;
                }
            }

            comps = InnerPawn.AllComps;
            for (int i = 0; i < comps.Count; i++)
            {
                comps[i].CompTickRare();
            }
        }