public override void PreAbsorbStack(Thing otherStack, int count)
        {
            float t = (float)count / (float)(this.parent.stackCount + count);
            CompTempRuinableAndDestroy comp = ((ThingWithComps)otherStack).GetComp <CompTempRuinableAndDestroy>();

            this.ruinedPercent = Mathf.Lerp(this.ruinedPercent, comp.ruinedPercent, t);
        }
        public override void PostSplitOff(Thing piece)
        {
            CompTempRuinableAndDestroy comp = ((ThingWithComps)piece).GetComp <CompTempRuinableAndDestroy>();

            comp.ruinedPercent = this.ruinedPercent;
        }
        public override bool AllowStackWith(Thing other)
        {
            CompTempRuinableAndDestroy comp = ((ThingWithComps)other).GetComp <CompTempRuinableAndDestroy>();

            return(this.Ruined == comp.Ruined);
        }