protected override void FinishedRemoving()
        {
            Thing   shards = ShardMaker.MakeShards(base.Target);
            IntVec3 pos    = base.Target.Position;
            Map     map    = base.Target.Map;

            base.Target.Destroy(DestroyMode.Vanish);
            GenPlace.TryPlaceThing(shards, pos, map, ThingPlaceMode.Near);
            this.pawn.records.Increment(RecordDefOf.ThingsDeconstructed);
        }
        private static IEnumerable <Thing> Postfix(IEnumerable <Thing> values, bool __state, RecipeDef recipeDef, List <Thing> ingredients, Thing dominantIngredient, IBillGiver billGiver)
        {
            if (!__state)
            {
                foreach (var value in values)
                {
                    yield return(value);
                }
                yield break;
            }

            if (ingredients.Count == 0)
            {
                Log.Error("techshard recipe finished with no ingredients");
            }

            Thing ingredient = ingredients[0];

            yield return(ShardMaker.MakeShards(ingredient));

            yield break;
        }