//ConfigureBuildingTemplate from rafinnery example public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false); go.AddOrGet <BuildingComplete>().isManuallyOperated = true; HeliumExtractor heliumExtractor = go.AddOrGet <HeliumExtractor>(); heliumExtractor.overpressureMass = 10f; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Gas; conduitConsumer.consumptionRate = totalConversion; conduitConsumer.capacityTag = SimHashes.Methane.CreateTag(); conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump; conduitConsumer.capacityKG = 10f; conduitConsumer.forceAlwaysSatisfied = true; ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = ConduitType.Gas; conduitDispenser.invertElementFilter = true; conduitDispenser.elementFilter = new SimHashes[] { SimHashes.Methane, SimHashes.Propane }; ConduitDispenser conduitDispenser2 = go.AddComponent <ConduitDispenser>(); conduitDispenser2.conduitType = ConduitType.Gas; conduitDispenser2.invertElementFilter = true; conduitDispenser2.elementFilter = new SimHashes[] { SimHashes.Methane, SimHashes.Helium }; conduitDispenser2.useSecondaryOutput = true; ConduitSecondaryOutput secondOutput = go.AddOrGet <ConduitSecondaryOutput>(); secondOutput.portInfo = secondaryPort; Storage storage = go.AddOrGet <Storage>(); storage.showInUI = true; ElementConverter elementConverter = go.AddOrGet <ElementConverter>(); elementConverter.consumedElements = new ElementConverter.ConsumedElement[] { new ElementConverter.ConsumedElement(SimHashes.Methane.CreateTag(), totalConversion) }; elementConverter.outputElements = new ElementConverter.OutputElement[] { new ElementConverter.OutputElement(heliumConversionRate, SimHashes.Sulfur, 350.15f, false, false), new ElementConverter.OutputElement(heliumConversionRate, SimHashes.Helium, 80.15f, false, true), new ElementConverter.OutputElement(propaneConversionRate, SimHashes.Propane, 81.15f, false, true) }; Prioritizable.AddRef(go); }
private void AttachPort(GameObject go) { ConduitSecondaryOutput conduitSecondaryOutput = go.AddComponent <ConduitSecondaryOutput>(); conduitSecondaryOutput.portInfo = secondaryPort; }
private void AttachPort(GameObject go) { ConduitSecondaryOutput secondOutput = go.AddOrGet <ConduitSecondaryOutput>(); secondOutput.portInfo = secondaryPort; }