public override void ExposeData() { Scribe_Deep.Look(ref _impl, "impl"); if (Scribe.mode == LoadSaveMode.LoadingVars) { string recipeDefName = null; Scribe_Values.Look <string>(ref recipeDefName, "recipe"); if (!DefDatabase <RecipeDef> .AllDefsListForReading.Any(x => x.defName == recipeDefName)) { CustomizableRecipeService.CloneRecipeDef(_impl.originalRecipe, recipeDefName); } } base.ExposeData(); if (Scribe.mode == LoadSaveMode.PostLoadInit) { _impl.billParameter.OnAttachBill(this); } }
public Bill_CustomizedProduction(RecipeDef originalRecipe) : base(CustomizableRecipeService.CloneRecipeDef(originalRecipe)) { _impl = new Bill_CustomizedProductionImpl(); _impl.originalRecipe = originalRecipe; }