public override void ConfigureBuildingTemplate(GameObject go, Tag prefabTag) { go.AddOrGet <LogicOperationalController>(); go.AddOrGet <SmartReservoir>(); go.AddOrGet <HyperReservoir>(); go.AddOrGet <EnergyConsumerEx>(); var storage = BuildingTemplates.CreateDefaultStorage(go); storage.showDescriptor = true; storage.allowItemRemoval = false; storage.storageFilters = storageFilters; storage.capacityKg = capacityKg; storage.SetDefaultStoredItemModifiers(GasReservoirConfig.ReservoirStoredItemModifiers); // storage.showCapacityStatusItem = true; ReflectionUtils.TrySetField(typeof(Storage), "showCapacityStatusItem", storage, true); // storage.showCapacityAsMainStatus = true; ReflectionUtils.TrySetField(typeof(Storage), "showCapacityAsMainStatus", storage, true); var conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = conduitType; conduitConsumer.ignoreMinMassCheck = true; conduitConsumer.forceAlwaysSatisfied = true; conduitConsumer.alwaysConsume = false; conduitConsumer.capacityKG = storage.capacityKg; var conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = conduitType; conduitDispenser.alwaysDispense = true; }
// Token: 0x0600606B RID: 24683 RVA: 0x001D97E8 File Offset: 0x001D7BE8 public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <Reservoir>(); Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.showDescriptor = true; storage.allowItemRemoval = false; storage.storageFilters = STORAGEFILTERS.LIQUIDS; storage.capacityKg = BigStorageConfigMod._configManager.Config.BigLiquidStorageCapacity; storage.SetDefaultStoredItemModifiers(GasReservoirConfig.ReservoirStoredItemModifiers); storage.showCapacityStatusItem = true; storage.showCapacityAsMainStatus = true; go.AddOrGet <SmartReservoir>(); ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.ignoreMinMassCheck = true; conduitConsumer.forceAlwaysSatisfied = true; conduitConsumer.alwaysConsume = true; conduitConsumer.capacityKG = storage.capacityKg; ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = ConduitType.Liquid; conduitDispenser.elementFilter = null; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <Reservoir>(); Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.showDescriptor = true; storage.allowItemRemoval = false; storage.storageFilters = STORAGEFILTERS.GASES; storage.capacityKg = HighFlowStorageConfig.Config.Gas5StorageCapacity; storage.SetDefaultStoredItemModifiers(GasReservoirConfig.ReservoirStoredItemModifiers); go.AddComponent <HighFlowStorage_PortConduitDispenser>().AssignPort(outputPort0); go.AddComponent <HighFlowStorage_PortConduitDispenser>().AssignPort(outputPort1); go.AddComponent <HighFlowStorage_PortConduitDispenser>().AssignPort(outputPort2); go.AddComponent <HighFlowStorage_PortConduitDispenser>().AssignPort(outputPort3); go.AddComponent <HighFlowStorage_PortConduitDispenser>().AssignPort(outputPort4); foreach (PortDisplayInput port in inputPorts) { PortConduitConsumer consumer = go.AddComponent <PortConduitConsumer>(); consumer.ignoreMinMassCheck = true; consumer.forceAlwaysSatisfied = true; consumer.alwaysConsume = true; consumer.capacityKG = storage.capacityKg; consumer.AssignPort(port); } go.AddComponent <HighFlowStorage.BuildingColor>().color = BuildingColor(); this.AttachPort(go); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>(); simCellOccupier.doReplaceElement = true; go.AddOrGet <TileTemperature>(); ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.consumptionRate = 1f; conduitConsumer.capacityKG = 5f; conduitConsumer.capacityTag = GameTags.Liquid; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump; go.AddOrGet <Storage>(); PlantablePlot plantablePlot = go.AddOrGet <PlantablePlot>(); plantablePlot.AddDepositTag(GameTags.CropSeed); plantablePlot.AddDepositTag(GameTags.WaterSeed); plantablePlot.occupyingObjectRelativePosition.y = 1f; plantablePlot.SetFertilizationFlags(true, true); CopyBuildingSettings copyBuildingSettings = go.AddOrGet <CopyBuildingSettings>(); copyBuildingSettings.copyGroupTag = GameTags.Farm; Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); go.AddOrGet <PlanterBox>(); go.AddOrGet <AnimTileable>(); go.AddOrGet <DropAllWorkable>(); Prioritizable.AddRef(go); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { GeneratedBuildings.MakeBuildingAlwaysOperational(go); BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag); SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>(); simCellOccupier.doReplaceElement = true; simCellOccupier.notifyOnMelt = true; go.AddOrGet <TileTemperature>(); go.AddOrGet <WildFarmTile>(); Storage storage = BuildingTemplates.CreateDefaultStorage(go); storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); PlantablePlot plantablePlot = go.AddOrGet <PlantablePlot>(); plantablePlot.occupyingObjectRelativePosition = new Vector3(0f, 1f, 0f); plantablePlot.AddDepositTag(GameTags.CropSeed); plantablePlot.AddDepositTag(GameTags.WaterSeed); plantablePlot.SetFertilizationFlags(fertilizer: false, liquid_piping: false); CopyBuildingSettings copyBuildingSettings = go.AddOrGet <CopyBuildingSettings>(); copyBuildingSettings.copyGroupTag = GameTags.Farm; go.AddOrGet <AnimTileable>(); Prioritizable.AddRef(go); // turn off irrigation FieldInfo fi = typeof(PlantablePlot).GetField("accepts_irrigation", BindingFlags.NonPublic | BindingFlags.Instance); fi.SetValue(plantablePlot, false); }
public override void DoPostConfigureComplete(GameObject go) { SoundEventVolumeCache.instance.AddVolume("storagelocker_kanim", "StorageLocker_Hit_metallic_low", TUNING.NOISE_POLLUTION.NOISY.TIER1); Prioritizable.AddRef(go); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false); go.GetComponent <KPrefabID>().AddTag(GameTags.OverlayBehindConduits, false); go.AddOrGet <EnergyConsumer>(); go.AddOrGet <Reservoir>(); Storage defaultStorage = BuildingTemplates.CreateDefaultStorage(go, false); defaultStorage.showDescriptor = true; defaultStorage.allowItemRemoval = false; defaultStorage.storageFilters = STORAGEFILTERS.LIQUIDS; defaultStorage.capacityKg = TrashcansConfigChecker.LiquidTrashCapicityKG; defaultStorage.showInUI = true; defaultStorage.SetDefaultStoredItemModifiers(GasReservoirConfig.ReservoirStoredItemModifiers); ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.ignoreMinMassCheck = true; conduitConsumer.forceAlwaysSatisfied = true; conduitConsumer.alwaysConsume = false; conduitConsumer.capacityKG = defaultStorage.capacityKg; go.AddOrGet <Trashcan>(); go.AddOrGet <UserNameable>(); go.AddOrGet <ReservoirTrashcanAnim>(); }
public void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { // replace the usual class to make manual operated to automated go.AddOrGet <WaterPurifier>(); Storage defaultStorage = BuildingTemplates.CreateDefaultStorage(go, false); defaultStorage.showInUI = true; defaultStorage.capacityKg = 30000f; defaultStorage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); //OUTPUT: ConduitDispenser2 conduitDispenser2 = go.AddOrGet <ConduitDispenser2>(); conduitDispenser2.secondaryOutput = this.secondaryOutPort; conduitDispenser2.conduitType = this.secondaryOutPort.conduitType; conduitDispenser2.invertElementFilter = true; conduitDispenser2.elementFilter = new SimHashes[] { SimHashes.Petroleum, SimHashes.CrudeOil }; //INPUT: ConduitConsumer2 conduitConsumer2 = go.AddOrGet <ConduitConsumer2>(); conduitConsumer2.secondaryInput = this.secondaryInPort; conduitConsumer2.conduitType = secondaryInPort.conduitType; conduitConsumer2.consumptionRate = 10f; conduitConsumer2.capacityTag = SimHashes.CrudeOil.CreateTag(); conduitConsumer2.wrongElementResult = ConduitConsumer2.WrongElementResult.Dump; conduitConsumer2.capacityKG = 100f; conduitConsumer2.forceAlwaysSatisfied = true; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { GeneratedBuildings.MakeBuildingAlwaysOperational(go); BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag); var simCellOccupier = go.AddOrGet <SimCellOccupier>(); simCellOccupier.doReplaceElement = true; simCellOccupier.notifyOnMelt = true; go.AddOrGet <TileTemperature>(); var storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); var plantablePlot = go.AddOrGet <PlantablePlot>(); plantablePlot.occupyingObjectRelativePosition = new Vector3(0f, 1f); plantablePlot.AddDepositTag(GameTags.CropSeed); plantablePlot.AddDepositTag(GameTags.WaterSeed); plantablePlot.SetFertilizationFlags(true, true); var copyBuildingSettings = go.AddOrGet <CopyBuildingSettings>(); copyBuildingSettings.copyGroupTag = GameTags.Farm; go.AddOrGet <AnimTileable>(); go.AddOrGet <DropAllWorkable>(); Prioritizable.AddRef(go); go.AddOrGet <AquaticFarm>(); AddPassiveElementConsumer(go, new Vector3(0f, 1f)); AddPassiveElementConsumer(go, new Vector3(0f, -1f)); AddPassiveElementConsumer(go, new Vector3(1f, 0f)); AddPassiveElementConsumer(go, new Vector3(-1f, 0f)); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { Storage defaultStorage = BuildingTemplates.CreateDefaultStorage(go, false); defaultStorage.showDescriptor = true; defaultStorage.storageFilters = STORAGEFILTERS.LIQUIDS; defaultStorage.capacityKg = 2500f; defaultStorage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); defaultStorage.allowItemRemoval = true; go.AddOrGet <DropAllWorkable>(); GasBottler gasBottler = go.AddOrGet <GasBottler>(); gasBottler.storage = defaultStorage; gasBottler.overrideAnims = new KAnimFile[1] { Assets.GetAnim((HashedString)"anim_interacts_washbasin_kanim") }; gasBottler.workTime = 5f; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.storage = defaultStorage; conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.ignoreMinMassCheck = true; conduitConsumer.forceAlwaysSatisfied = true; conduitConsumer.alwaysConsume = true; conduitConsumer.capacityKG = defaultStorage.capacityKg; conduitConsumer.keepZeroMassObject = false; go.AddOrGet <LoopingSounds>(); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.showInUI = true; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.consumptionRate = 1f; conduitConsumer.capacityKG = 10f; conduitConsumer.capacityTag = GameTags.Liquid; ElementConverter elementConverter = go.AddOrGet <ElementConverter>(); elementConverter.consumedElements = new ElementConverter.ConsumedElement[1] { new ElementConverter.ConsumedElement(new Tag("Water"), 1f) }; elementConverter.outputElements = new ElementConverter.OutputElement[1] { new ElementConverter.OutputElement(3.33333325f, SimHashes.CrudeOil, 363.15f, false, false, 2f, 1.5f, 0f, byte.MaxValue, 0) }; OilWellCap oilWellCap = go.AddOrGet <OilWellCap>(); oilWellCap.gasElement = SimHashes.Methane; oilWellCap.gasTemperature = 573.15f; oilWellCap.addGasRate = 0.0333333351f; oilWellCap.maxGasPressure = 80.00001f; oilWellCap.releaseGasRate = 0.444444478f; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { GeneratedBuildings.RegisterSingleLogicInputPort(go); go.AddOrGet <LogicOperationalController>(); go.AddOrGet <RotatableExhaust>(); Vent vent = go.AddOrGet <Vent>(); vent.conduitType = ConduitType.Gas; vent.endpointType = Endpoint.Sink; vent.overpressureMass = WallPumpsConfig.GetConfig().gasWallPressureVent.maxPressure; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Gas; conduitConsumer.ignoreMinMassCheck = true; Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.showInUI = true; go.AddOrGet <SimpleVent>(); SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>(); simCellOccupier.notifyOnMelt = true; go.AddOrGet <Insulator>(); go.AddOrGet <TileTemperature>(); BuildingHP buildingHP = go.AddOrGet <BuildingHP>(); buildingHP.destroyOnDamaged = true; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false); Storage defaultStorage = BuildingTemplates.CreateDefaultStorage(go, false); defaultStorage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); defaultStorage.storageFilters = new List <Tag>() { new Tag("BleachStone") }; defaultStorage.capacityKg = 400f + 20f; go.AddOrGet <HexiLiquidGermScrubber>(); Prioritizable.AddRef(go); GermScrubConverter elementConverter = go.AddOrGet <GermScrubConverter>(); elementConverter.SetStorage(defaultStorage); ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.consumptionRate = 10f; conduitConsumer.capacityKG = 20f; conduitConsumer.capacityTag = GameTags.Liquid; conduitConsumer.forceAlwaysSatisfied = true; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump; ManualDeliveryKG manualDeliveryKg = go.AddComponent <ManualDeliveryKG>(); manualDeliveryKg.SetStorage(defaultStorage); manualDeliveryKg.requestedItemTag = ElementLoader.FindElementByHash(SimHashes.BleachStone).tag; manualDeliveryKg.capacity = 400f; manualDeliveryKg.refillMass = 100f; manualDeliveryKg.choreTypeIDHash = Db.Get().ChoreTypes.FetchCritical.IdHash; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { Debug.Log("=== GasReservoirSmart.ConfigureBuildingTemplate ==="); Storage storage = BuildingTemplates.CreateDefaultStorage(go); storage.showDescriptor = true; storage.allowItemRemoval = false; storage.storageFilters = STORAGEFILTERS.GASES; storage.capacityKg = 90.0f; storage.SetDefaultStoredItemModifiers(GasReservoirConfig.ReservoirStoredItemModifiers); go.AddOrGet <ReservoirSmart>(); ConduitConsumer cc = go.AddOrGet <ConduitConsumer>(); cc.conduitType = ConduitType.Gas; cc.ignoreMinMassCheck = true; cc.forceAlwaysSatisfied = true; cc.alwaysConsume = true; cc.capacityKG = storage.capacityKg; ConduitDispenser cd = go.AddOrGet <ConduitDispenser>(); cd.conduitType = ConduitType.Gas; cd.elementFilter = null; }
static void Postfix(SolidConduitOutboxConfig __instance, ref GameObject go) { Storage storage = BuildingTemplates.CreateDefaultStorage(go); storage.capacityKg = DynamicBuildingsState.StateManager.State.ConUnloaderCap; go.AddOrGet <SolidConduitConsumer>().capacityKG = DynamicBuildingsState.StateManager.State.ConUnloaderCap; }
public static void Postfix(GasReservoirConfig __instance, ref GameObject go) { Storage storage = BuildingTemplates.CreateDefaultStorage(go); storage.capacityKg = DynamicBuildingsState.StateManager.State.GasRes; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.capacityKG = storage.capacityKg; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); go.AddOrGet <DropAllWorkable>(); Prioritizable.AddRef(go); Storage storage = BuildingTemplates.CreateDefaultStorage(go); storage.showInUI = true; storage.capacityKg = 20000f; storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); ElementConsumer elementConsumer = go.AddOrGet <ElementConsumer>(); elementConsumer.elementToConsume = SimHashes.CarbonDioxide; elementConsumer.consumptionRate = 1000f; elementConsumer.consumptionRadius = 10; elementConsumer.showInStatusPanel = true; elementConsumer.sampleCellOffset = new Vector3(0f, 0f, 0f); elementConsumer.isRequired = false; elementConsumer.storeOnConsume = true; elementConsumer.showDescriptor = false; ElementDropper elementDropper = go.AddComponent <ElementDropper>(); elementDropper.emitMass = 100f; elementDropper.emitTag = new Tag("Carbon"); elementDropper.emitOffset = new Vector3(0f, 0f, 0f); ElementConverter elementConverter = go.AddOrGet <ElementConverter>(); elementConverter.consumedElements = new ElementConverter.ConsumedElement[] { new ElementConverter.ConsumedElement(new Tag("Filter"), 0.1f), new ElementConverter.ConsumedElement(new Tag("CarbonDioxide"), 1.0f) }; elementConverter.outputElements = new ElementConverter.OutputElement[] { new ElementConverter.OutputElement(0.27f, SimHashes.Carbon, 0f, true, 0f, 0.5f, false, 0f, byte.MinValue), new ElementConverter.OutputElement(0.73f, SimHashes.Oxygen, 0f, false, 0f, 0f, false, 0f, byte.MinValue) }; ManualDeliveryKG manualDeliveryKG = go.AddOrGet <ManualDeliveryKG>(); manualDeliveryKG.SetStorage(storage); manualDeliveryKG.requestedItemTag = new Tag("Filter"); manualDeliveryKG.capacity = 100f; manualDeliveryKG.refillMass = 1f; manualDeliveryKG.choreTypeIDHash = Db.Get().ChoreTypes.FetchCritical.IdHash; CoalScrubber coalScrubber = go.AddOrGet <CoalScrubber>(); coalScrubber.filterTag = new Tag("Filter"); go.AddOrGet <KBatchedAnimController>().randomiseLoopedOffset = true; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false); Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); go.AddOrGet <WaterPurifier>(); ManualDeliveryKG manualDeliveryKG = go.AddComponent <ManualDeliveryKG>(); manualDeliveryKG.SetStorage(storage); manualDeliveryKG.choreTypeIDHash = Db.Get().ChoreTypes.MachineFetch.IdHash; manualDeliveryKG.requestedItemTag = new Tag("Dirt"); manualDeliveryKG.capacity = 136.5f; manualDeliveryKG.refillMass = 19.5f; ManualDeliveryKG manualDeliveryKG2 = go.AddComponent <ManualDeliveryKG>(); manualDeliveryKG2.SetStorage(storage); manualDeliveryKG2.choreTypeIDHash = Db.Get().ChoreTypes.MachineFetch.IdHash; manualDeliveryKG2.requestedItemTag = new Tag("Phosphorite"); manualDeliveryKG2.capacity = 54.6f; manualDeliveryKG2.refillMass = 7.79999971f; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.consumptionRate = 10f; conduitConsumer.capacityTag = ElementLoader.FindElementByHash(SimHashes.DirtyWater).tag; conduitConsumer.capacityKG = 0.195000008f; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump; conduitConsumer.forceAlwaysSatisfied = true; ElementConverter elementConverter = go.AddOrGet <ElementConverter>(); elementConverter.consumedElements = new ElementConverter.ConsumedElement[3] { new ElementConverter.ConsumedElement(new Tag("DirtyWater"), 0.039f), new ElementConverter.ConsumedElement(new Tag("Dirt"), 0.065f), new ElementConverter.ConsumedElement(new Tag("Phosphorite"), 0.0259999987f) }; elementConverter.outputElements = new ElementConverter.OutputElement[1] { new ElementConverter.OutputElement(0.12f, SimHashes.Fertilizer, 323.15f, false, true, 0f, 0.5f, 1f, byte.MaxValue, 0) }; BuildingElementEmitter buildingElementEmitter = go.AddOrGet <BuildingElementEmitter>(); buildingElementEmitter.emitRate = 0.01f; buildingElementEmitter.temperature = 349.15f; buildingElementEmitter.element = SimHashes.Methane; buildingElementEmitter.modifierOffset = new Vector2(2f, 2f); ElementDropper elementDropper = go.AddComponent <ElementDropper>(); elementDropper.emitMass = 10f; elementDropper.emitTag = new Tag("Fertilizer"); elementDropper.emitOffset = new Vector3(0f, 1f, 0f); Prioritizable.AddRef(go); }
// Token: 0x0600001D RID: 29 RVA: 0x00002744 File Offset: 0x00000944 public override void ConfigureBuildingTemplate(GameObject go, Tag prefabTag) { GeneratedBuildings.MakeBuildingAlwaysOperational(go); go.AddOrGet <SolidConduitConsumer>(); var conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = ConduitType.Liquid; conduitDispenser.alwaysDispense = true; conduitDispenser.elementFilter = null; BuildingTemplates.CreateDefaultStorage(go); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { Prioritizable.AddRef(go); Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.SetDefaultStoredItemModifiers(IncubatorStorage); EggIncubator eggIncubator = go.AddOrGet <EggIncubator>(); eggIncubator.AddDepositTag(GameTags.Egg); eggIncubator.SetWorkTime(5f); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <Reservoir>(); Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.showDescriptor = true; storage.allowItemRemoval = false; storage.storageFilters = STORAGEFILTERS.LIQUIDS; storage.capacityKg = HighFlowStorageConfig.Config.liquidStorageCapacity; storage.SetDefaultStoredItemModifiers(GasReservoirConfig.ReservoirStoredItemModifiers); PortConduitDispenser conduitDispenser0 = go.AddComponent <HighFlowStorage_PortConduitDispenser>(); conduitDispenser0.AssignPort(outputPort0); PortConduitDispenser conduitDispenser1 = go.AddComponent <HighFlowStorage_PortConduitDispenser>(); conduitDispenser1.AssignPort(outputPort1); PortConduitDispenser conduitDispenser2 = go.AddComponent <HighFlowStorage_PortConduitDispenser>(); conduitDispenser2.AssignPort(outputPort2); PortConduitConsumer consumer0 = go.AddComponent <PortConduitConsumer>(); consumer0.conduitType = ConduitType.Liquid; consumer0.ignoreMinMassCheck = true; consumer0.forceAlwaysSatisfied = true; consumer0.alwaysConsume = true; consumer0.capacityKG = storage.capacityKg; consumer0.AssignPort(inputPort0); PortConduitConsumer consumer1 = go.AddComponent <PortConduitConsumer>(); consumer1.conduitType = ConduitType.Liquid; consumer1.ignoreMinMassCheck = true; consumer1.forceAlwaysSatisfied = true; consumer1.alwaysConsume = true; consumer1.capacityKG = storage.capacityKg; consumer1.AssignPort(inputPort1); PortConduitConsumer consumer2 = go.AddComponent <PortConduitConsumer>(); consumer2.conduitType = ConduitType.Liquid; consumer2.ignoreMinMassCheck = true; consumer2.forceAlwaysSatisfied = true; consumer2.alwaysConsume = true; consumer2.capacityKG = storage.capacityKg; consumer2.AssignPort(inputPort2); go.AddComponent <HighFlowStorage.BuildingColor>().color = BuildingColor(); this.AttachPort(go); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery); var defaultStorage = BuildingTemplates.CreateDefaultStorage(go); defaultStorage.showInUI = true; defaultStorage.capacityKg = 1000f; defaultStorage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); go.AddOrGet <AirFilter>().filterTag = GameTagExtensions.Create(SimHashes.Lime); var elementConsumer = go.AddOrGet <PassiveElementConsumer>(); elementConsumer.elementToConsume = SimHashes.CarbonDioxide; elementConsumer.consumptionRate = CO2_CONSUMPTION_RATE * 2; elementConsumer.capacityKG = CO2_CONSUMPTION_RATE * 2; elementConsumer.consumptionRadius = 6; elementConsumer.showInStatusPanel = true; elementConsumer.sampleCellOffset = new Vector3(0.0f, 0.0f, 0.0f); elementConsumer.isRequired = false; elementConsumer.storeOnConsume = true; elementConsumer.showDescriptor = false; // Add the bit where you deliver lime Prioritizable.AddRef(go); ManualDeliveryKG manualDeliveryKg = go.AddOrGet <ManualDeliveryKG>(); manualDeliveryKg.SetStorage(defaultStorage); manualDeliveryKg.requestedItemTag = new Tag("Lime"); manualDeliveryKg.capacity = 1f; manualDeliveryKg.refillMass = .5f; manualDeliveryKg.choreTypeIDHash = Db.Get().ChoreTypes.FetchCritical.IdHash; // Drop refined carbon ElementDropper elementDropper = go.AddComponent <ElementDropper>(); elementDropper.emitMass = 10f; elementDropper.emitTag = SimHashes.RefinedCarbon.CreateTag(); elementDropper.emitOffset = new Vector3(0.0f, 0.0f, 0.0f); // Define conversions var elementConverter = go.AddOrGet <ElementConverter>(); elementConverter.consumedElements = new ElementConverter.ConsumedElement[2] { new ElementConverter.ConsumedElement(GameTagExtensions.Create(SimHashes.Lime), LIME_CONSUMPTION_RATE), new ElementConverter.ConsumedElement(GameTagExtensions.Create(SimHashes.CarbonDioxide), CO2_CONSUMPTION_RATE) }; elementConverter.outputElements = new ElementConverter.OutputElement[1] { new ElementConverter.OutputElement(CO2_CONSUMPTION_RATE, SimHashes.RefinedCarbon, 0.0f, false, true) }; go.AddOrGet <KBatchedAnimController>().randomiseLoopedOffset = true; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery); Storage storage = BuildingTemplates.CreateDefaultStorage(go); storage.showInUI = true; storage.capacityKg = 30000f; storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); go.AddOrGet <PipedDeodorizer>(); ElementConverter elementConverter = go.AddOrGet <ElementConverter>(); elementConverter.consumedElements = new ElementConverter.ConsumedElement[1] { new ElementConverter.ConsumedElement(SimHashes.ContaminatedOxygen.CreateTag(), AIR_INPUT_RATE), }; elementConverter.outputElements = new ElementConverter.OutputElement[2] { new ElementConverter.OutputElement(AIR_OUTPUT_RATE, SimHashes.Oxygen, 0f, useEntityTemperature: false, storeOutput: true), new ElementConverter.OutputElement(DIRT_OUTPUT_RATE, SimHashes.ToxicSand, 0f, useEntityTemperature: false, storeOutput: true) }; ElementDropper elementDropper = go.AddComponent <ElementDropper>(); elementDropper.emitMass = 10f; elementDropper.emitTag = new Tag("ToxicSand"); elementDropper.emitOffset = new Vector3(1f, 1f, 0f); ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Gas; conduitConsumer.consumptionRate = AIR_INPUT_RATE; conduitConsumer.capacityKG = 2 * AIR_INPUT_RATE; conduitConsumer.capacityTag = GameTags.Breathable; // ElementLoader.FindElementByHash(SimHashes.ContaminatedOxygen).tag; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump; conduitConsumer.forceAlwaysSatisfied = true; ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = ConduitType.Gas; conduitDispenser.alwaysDispense = true; conduitDispenser.invertElementFilter = true; conduitDispenser.elementFilter = new SimHashes[] { SimHashes.ContaminatedOxygen }; go.AddOrGet <KBatchedAnimController>().randomiseLoopedOffset = true; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false); Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.showInUI = true; storage.capacityKg = 30000f; storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); AirFilter airFilter = go.AddOrGet <AirFilter>(); airFilter.filterTag = GameTagExtensions.Create(SimHashes.Water); ElementConsumer elementConsumer = go.AddOrGet <PassiveElementConsumer>(); elementConsumer.elementToConsume = SimHashes.CarbonDioxide; elementConsumer.consumptionRate = 0.6f; elementConsumer.capacityKG = 0.6f; elementConsumer.consumptionRadius = 3; elementConsumer.showInStatusPanel = true; elementConsumer.sampleCellOffset = new Vector3(0f, 0f, 0f); elementConsumer.isRequired = false; elementConsumer.storeOnConsume = true; elementConsumer.showDescriptor = false; ElementConverter elementConverter = go.AddOrGet <ElementConverter>(); elementConverter.consumedElements = new ElementConverter.ConsumedElement[2] { new ElementConverter.ConsumedElement(GameTagExtensions.Create(SimHashes.Water), 1f), new ElementConverter.ConsumedElement(GameTagExtensions.Create(SimHashes.CarbonDioxide), 0.3f) }; elementConverter.outputElements = new ElementConverter.OutputElement[1] { new ElementConverter.OutputElement(1f, SimHashes.DirtyWater, 0f, false, true, 0f, 0.5f, 1f, byte.MaxValue, 0) }; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.consumptionRate = 2f; conduitConsumer.capacityKG = 2f; conduitConsumer.capacityTag = ElementLoader.FindElementByHash(SimHashes.Water).tag; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Store; conduitConsumer.forceAlwaysSatisfied = true; ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = ConduitType.Liquid; conduitDispenser.invertElementFilter = true; conduitDispenser.elementFilter = new SimHashes[1] { SimHashes.Water }; go.AddOrGet <KBatchedAnimController>().randomiseLoopedOffset = true; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { GeneratedBuildings.MakeBuildingAlwaysOperational(go); go.AddOrGet <ConveyorDropoff>(); go.AddOrGet <SolidConduitConsumer>(); Storage defaultStorage = BuildingTemplates.CreateDefaultStorage(go); defaultStorage.capacityKg = 100f; defaultStorage.showInUI = false; defaultStorage.allowItemRemoval = false; go.AddOrGet <SimpleVent>(); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <Storage>(); PlantablePlot plantablePlot = go.AddOrGet <PlantablePlot>(); plantablePlot.AddDepositTag(Utils.CropSeed2TileWide); plantablePlot.occupyingObjectRelativePosition.y = 0f; plantablePlot.SetFertilizationFlags(true, false); BuildingTemplates.CreateDefaultStorage(go, false).SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); go.AddOrGet <AnimTileable>(); go.AddOrGet <DropAllWorkable>(); Prioritizable.AddRef(go); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); var conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.consumptionRate = 5f; var defaultStorage = BuildingTemplates.CreateDefaultStorage(go); defaultStorage.showInUI = true; defaultStorage.capacityKg = 2f * conduitConsumer.consumptionRate; defaultStorage.SetDefaultStoredItemModifiers(StoredItemModifiers); go.AddOrGet <UVCleaner>(); }
// Token: 0x06000018 RID: 24 RVA: 0x00002620 File Offset: 0x00000820 public override void ConfigureBuildingTemplate(GameObject go, Tag prefabTag) { GeneratedBuildings.MakeBuildingAlwaysOperational(go); ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.consumptionRate = 10f; conduitConsumer.capacityKG = 20f; conduitConsumer.forceAlwaysSatisfied = true; SolidConduitDispenser solidConduitDispenser = go.AddOrGet <SolidConduitDispenser>(); solidConduitDispenser.alwaysDispense = true; solidConduitDispenser.elementFilter = null; BuildingTemplates.CreateDefaultStorage(go); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); AirConditioner airConditioner = go.AddOrGet <AirConditioner>(); airConditioner.temperatureDelta = -14f; airConditioner.maxEnvironmentDelta = -50f; Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.showInUI = true; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Gas; conduitConsumer.consumptionRate = 1f; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); Prioritizable.AddRef(go); Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.showInUI = true; storage.capacityKg = 200f; storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); ElementConsumer elementConsumer = go.AddOrGet <ElementConsumer>(); elementConsumer.elementToConsume = SimHashes.ContaminatedOxygen; elementConsumer.consumptionRate = 0.1f; elementConsumer.consumptionRadius = 3; elementConsumer.showInStatusPanel = true; elementConsumer.sampleCellOffset = new Vector3(0f, 0f, 0f); elementConsumer.isRequired = false; elementConsumer.storeOnConsume = true; elementConsumer.showDescriptor = false; ElementDropper elementDropper = go.AddComponent <ElementDropper>(); elementDropper.emitMass = 10f; elementDropper.emitTag = new Tag("Clay"); elementDropper.emitOffset = new Vector3(0f, 0f, 0f); ElementConverter elementConverter = go.AddOrGet <ElementConverter>(); elementConverter.consumedElements = new ElementConverter.ConsumedElement[2] { new ElementConverter.ConsumedElement(new Tag("Filter"), 0.13333334f), new ElementConverter.ConsumedElement(new Tag("ContaminatedOxygen"), 0.1f) }; elementConverter.outputElements = new ElementConverter.OutputElement[2] { new ElementConverter.OutputElement(0.143333346f, SimHashes.Clay, 0f, false, true, 0f, 0.5f, 0.25f, byte.MaxValue, 0), new ElementConverter.OutputElement(0.0899999961f, SimHashes.Oxygen, 0f, false, false, 0f, 0f, 0.75f, byte.MaxValue, 0) }; ManualDeliveryKG manualDeliveryKG = go.AddOrGet <ManualDeliveryKG>(); manualDeliveryKG.SetStorage(storage); manualDeliveryKG.requestedItemTag = new Tag("Filter"); manualDeliveryKG.capacity = 320.000031f; manualDeliveryKG.refillMass = 32.0000038f; manualDeliveryKG.choreTypeIDHash = Db.Get().ChoreTypes.FetchCritical.IdHash; AirFilter airFilter = go.AddOrGet <AirFilter>(); airFilter.filterTag = new Tag("Filter"); go.AddOrGet <KBatchedAnimController>().randomiseLoopedOffset = true; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <ZTransporter>().SetLocalAndExpectedID("SolidSender", "SolidRecver"); go.AddOrGet <ZConfigButton>(); go.AddOrGet <OperationalGlueShimThing>(); GeneratedBuildings.MakeBuildingAlwaysOperational(go); go.AddOrGet <SolidConduitConsumer>(); Storage defaultStorage = BuildingTemplates.CreateDefaultStorage(go, false); defaultStorage.capacityKg = 100f; defaultStorage.showInUI = true; defaultStorage.allowItemRemoval = false; go.AddOrGet <ObjectSender>().autoSend = true; }