public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery); Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.showInUI = true; storage.capacityKg = 30f; storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); InverseElectrolyzer airFilter = go.AddOrGet <InverseElectrolyzer>(); //airFilter.filterTag = GameTagExtensions.Create(SimHashes.Oxygen); airFilter.portInfo = this.secondaryInputPort; }
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag) { go.AddOrGet <LoopingSounds>(); //go.AddOrGet<InverseElectrolyzer>(); go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery); //go.AddOrGet<Pump>(); //Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); //storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); /* * Storage storage = go.AddOrGet<Storage>(); * storage.capacityKg = 50f; * storage.showInUI = true; */ Storage storage = BuildingTemplates.CreateDefaultStorage(go, false); storage.showInUI = true; storage.capacityKg = 30f; storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage); InverseElectrolyzer airFilter = go.AddOrGet <InverseElectrolyzer>(); airFilter.filterTag = GameTagExtensions.Create(SimHashes.Hydrogen); //Prioritizable.AddRef(go); /* * elementConverter.consumedElements = new ElementConverter.ConsumedElement[2] * { * new ElementConverter.ConsumedElement(new Tag("Filter"), 1f), * new ElementConverter.ConsumedElement(new Tag("DirtyWater"), 5f) * }; * elementConverter.outputElements = new ElementConverter.OutputElement[2] * { * new ElementConverter.OutputElement(5f, SimHashes.Water, 313.15f, true, 0f, 0.5f, false, 0.75f, 255, 0), * new ElementConverter.OutputElement(0.2f, SimHashes.ToxicSand, 313.15f, true, 0f, 0.5f, false, 0.25f, 255, 0) * }; */ /* * ElementConsumer elementConsumer = go.AddOrGet<ElementConsumer>(); * elementConsumer.configuration = ElementConsumer.Configuration.AllGas; * elementConsumer.consumptionRate = 1f; * elementConsumer.storeOnConsume = true; * elementConsumer.showInStatusPanel = false; * elementConsumer.consumptionRadius = 2; */ ElementConsumer elementConsumer = go.AddOrGet <PassiveElementConsumer>(); elementConsumer.elementToConsume = SimHashes.Oxygen; elementConsumer.consumptionRate = 1f; elementConsumer.capacityKG = 1f; 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(new Tag("Oxygen"), 5*0.888f), //new ElementConverter.ConsumedElement(new Tag("Hydrogen"), 5*0.111999989f) new ElementConverter.ConsumedElement(GameTagExtensions.Create(SimHashes.Oxygen), 0.888f), new ElementConverter.ConsumedElement(GameTagExtensions.Create(SimHashes.Hydrogen), 0.111999989f) }; elementConverter.outputElements = new ElementConverter.OutputElement[1] { new ElementConverter.OutputElement(1f, SimHashes.Steam, 523.15f, true, 0f, 0.5f, false, 0.75f, 255, 0) }; /* * ElementDropper elementDropper = go.AddComponent<ElementDropper>(); * elementDropper.emitMass = 10f; * elementDropper.emitTag = new Tag("ToxicSand"); * elementDropper.emitOffset = new Vector3(0f, 1f, 0f); * * ManualDeliveryKG manualDeliveryKG = go.AddComponent<ManualDeliveryKG>(); * manualDeliveryKG.SetStorage(storage); * manualDeliveryKG.requestedItemTag = new Tag("Filter"); * manualDeliveryKG.capacity = 1200f; * manualDeliveryKG.refillMass = 300f; * manualDeliveryKG.choreTypeIDHash = Db.Get().ChoreTypes.OperateFetch.IdHash; */ ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>(); conduitConsumer.conduitType = ConduitType.Gas; conduitConsumer.consumptionRate = 2f; conduitConsumer.capacityKG = 5 * 0.111999989f; conduitConsumer.capacityTag = ElementLoader.FindElementByHash(SimHashes.Hydrogen).tag; //GameTagExtensions.Create(SimHashes.Hydrogen);//GameTags.Oxygen; conduitConsumer.forceAlwaysSatisfied = true; conduitConsumer.alwaysConsume = true; //conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Store; conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump; /* * ConduitConsumer conduitConsumer2 = go.AddOrGet<ConduitConsumer>(); * conduitConsumer2.conduitType = ConduitType.Gas; * //conduitConsumer.consumptionRate = 1f; * conduitConsumer2.capacityKG = 5*0.888f; * conduitConsumer2.capacityTag = ElementLoader.FindElementByHash(SimHashes.Oxygen).tag; //GameTagExtensions.Create(SimHashes.Oxygen);//GameTags.Oxygen; * conduitConsumer2.forceAlwaysSatisfied = true; * //conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Store; * conduitConsumer2.wrongElementResult = ConduitConsumer.WrongElementResult.Dump; */ ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>(); conduitDispenser.conduitType = ConduitType.Gas; //conduitDispenser.invertElementFilter = true; conduitDispenser.elementFilter = new SimHashes[1] { SimHashes.Steam }; }