public void CreateEmptyChore() { if (emptyChore != null) { emptyChore.Cancel("dupe"); } DesalinatorWorkableEmpty component = base.master.GetComponent <DesalinatorWorkableEmpty>(); emptyChore = new WorkChore <DesalinatorWorkableEmpty>(Db.Get().ChoreTypes.EmptyDesalinator, component, null, true, OnEmptyComplete, null, null, true, null, false, true, null, false, true, true, PriorityScreen.PriorityClass.basic, 5, true, true); }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false); Storage storage = go.AddOrGet <Storage>(); storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); storage.showInUI = true; Desalinator desalinator = go.AddOrGet <Desalinator>(); desalinator.maxSalt = 945f; ElementConverter elementConverter = go.AddComponent <ElementConverter>(); elementConverter.consumedElements = new ElementConverter.ConsumedElement[1] { new ElementConverter.ConsumedElement(new Tag("SaltWater"), 5f) }; elementConverter.outputElements = new ElementConverter.OutputElement[2] { new ElementConverter.OutputElement(4.65f, SimHashes.Water, 0f, false, true, 0f, 0.5f, 0.75f, byte.MaxValue, 0), new ElementConverter.OutputElement(0.35f, SimHashes.Salt, 0f, false, true, 0f, 0.5f, 0.25f, byte.MaxValue, 0) }; ElementConverter elementConverter2 = go.AddComponent <ElementConverter>(); elementConverter2.consumedElements = new ElementConverter.ConsumedElement[1] { new ElementConverter.ConsumedElement(new Tag("Brine"), 5f) }; elementConverter2.outputElements = new ElementConverter.OutputElement[2] { new ElementConverter.OutputElement(3.5f, SimHashes.Water, 313.15f, false, true, 0f, 0.5f, 0.75f, byte.MaxValue, 0), new ElementConverter.OutputElement(1.5f, SimHashes.Salt, 313.15f, false, true, 0f, 0.5f, 0.25f, byte.MaxValue, 0) }; DesalinatorWorkableEmpty desalinatorWorkableEmpty = go.AddOrGet <DesalinatorWorkableEmpty>(); desalinatorWorkableEmpty.workTime = 90f; desalinatorWorkableEmpty.workLayer = Grid.SceneLayer.BuildingFront; ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Liquid; conduitConsumer.consumptionRate = 10f; conduitConsumer.capacityKG = 20f; conduitConsumer.capacityTag = GameTags.AnyWater; conduitConsumer.forceAlwaysSatisfied = true; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Store; ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = ConduitType.Liquid; conduitDispenser.invertElementFilter = true; conduitDispenser.elementFilter = new SimHashes[2] { SimHashes.SaltWater, SimHashes.Brine }; Prioritizable.AddRef(go); }