static void Postfix(RockCrusherConfig __instance, ref GameObject go) { bool RockDupeWork = DynamicBuildingsState.StateManager.State.RockDupe; Refinery refinery = go.AddOrGet <Refinery>(); refinery.duplicantOperated = RockDupeWork; }
private static void Postfix(RockCrusherConfig __instance) { Debug.Log("RockCrusherConfig.ConfigureBuildingTemplate postfix loaded"); ComplexRecipe complexRecipe; Tag regolith_tag = SimHashes.Regolith.CreateTag(); Tag sand_tag = SimHashes.Sand.CreateTag(); List <Element> list = new List <Element>() { ElementLoader.GetElement(SimHashes.Cuprite.CreateTag()), ElementLoader.GetElement(SimHashes.AluminumOre.CreateTag()), ElementLoader.GetElement(SimHashes.GoldAmalgam.CreateTag()), ElementLoader.GetElement(SimHashes.IronOre.CreateTag()), ElementLoader.GetElement(SimHashes.Wolframite.CreateTag()), }; foreach (Element element in list) { Element highTempTransition = element.highTempTransition; Element lowTempTransition = highTempTransition.lowTempTransition; if (lowTempTransition != element) { ComplexRecipe.RecipeElement[] inputs = new ComplexRecipe.RecipeElement[] { new ComplexRecipe.RecipeElement(lowTempTransition.tag, 100f), new ComplexRecipe.RecipeElement(regolith_tag, 50f), }; ComplexRecipe.RecipeElement[] outputs = new ComplexRecipe.RecipeElement[] { new ComplexRecipe.RecipeElement(element.tag, 100f), new ComplexRecipe.RecipeElement(sand_tag, 50f), }; string obsolete_id = ComplexRecipeManager.MakeObsoleteRecipeID("RockCrusher", element.tag); string text = ComplexRecipeManager.MakeRecipeID("RockCrusher", inputs, outputs); complexRecipe = new ComplexRecipe(text, inputs, outputs); complexRecipe.time = 40f; complexRecipe.description = string.Format("Grind up {0} to create {1}.", lowTempTransition.name, element.name); complexRecipe.nameDisplay = ComplexRecipe.RecipeNameDisplay.IngredientToResult; complexRecipe.fabricators = new List <Tag> { TagManager.Create("RockCrusher") }; ComplexRecipeManager.Get().AddObsoleteIDMapping(obsolete_id, text); } } }
private static bool Prefix(RockCrusherConfig __instance, ref GameObject go) { Debug.Log("Refinement Plus - RockCrusherConfig Postfix: "); Prioritizable.AddRef(go); go.AddOrGet <DropAllWorkable>(); go.AddOrGet <BuildingComplete>().isManuallyOperated = true; var fabricator = go.AddOrGet <ComplexFabricator>(); fabricator.sideScreenStyle = ComplexFabricatorSideScreen.StyleSetting.ListQueueHybrid; fabricator.duplicantOperated = true; go.AddOrGet <FabricatorIngredientStatusManager>(); go.AddOrGet <CopyBuildingSettings>(); var fabricatorWorkable = go.AddOrGet <ComplexFabricatorWorkable>(); BuildingTemplates.CreateComplexFabricatorStorage(go, fabricator); fabricatorWorkable.overrideAnims = new[] { Assets.GetAnim((HashedString)"anim_interacts_rockrefinery_kanim") }; fabricatorWorkable.workingPstComplete = new[] { (HashedString)"working_pst_complete" }; var methods = new Methods(); methods.clayToSlime(); methods.limeCrushing(); methods.fossilCrushing(); methods.maficToRegolith(); methods.mineralsCrushing(); methods.oresToRefined(); methods.organicToFert(); methods.refinedToOres(); methods.saltCrushing(); methods.snowCone(); return(false); }
private static bool Prefix(RockCrusherConfig __instance, ref GameObject go) { Debug.Log("Refinement Plus - RockCrusherConfig Postfix: "); Prioritizable.AddRef(go); go.AddOrGet <DropAllWorkable>(); go.AddOrGet <BuildingComplete>().isManuallyOperated = true; ComplexFabricator complexFabricator = go.AddOrGet <ComplexFabricator>(); complexFabricator.sideScreenStyle = ComplexFabricatorSideScreen.StyleSetting.ListQueueHybrid; complexFabricator.duplicantOperated = true; go.AddOrGet <FabricatorIngredientStatusManager>(); go.AddOrGet <CopyBuildingSettings>(); ComplexFabricatorWorkable complexFabricatorWorkable = go.AddOrGet <ComplexFabricatorWorkable>(); BuildingTemplates.CreateComplexFabricatorStorage(go, complexFabricator); complexFabricatorWorkable.overrideAnims = new KAnimFile[] { Assets.GetAnim("anim_interacts_rockrefinery_kanim") }; complexFabricatorWorkable.workingPstComplete = "working_pst_complete"; Methods mtd = new Methods(); /* Clay To Slime */ mtd.clayToSlime(); //* Corpses To Meal And Lime */ mtd.corpseToMeal(); /* Eggs To Lime */ mtd.limeCrushing(); /* Fossils To Lime And Sand */ mtd.fossilCrushing(); /* Mafic Rock To Regolith */ mtd.maficToRegolith(); /* Minerals To Sand Overhaul */ mtd.mineralsCrushing(); /* Ores To Refined */ mtd.oresToRefined(); /* Organic To Fert */ mtd.organicToFert(); /* Refined To Ores */ mtd.refinedToOres(); /* Salt To Table Salt */ mtd.saltCrushing(); /* Crush Ice */ mtd.snowCone(); return(false); }