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 static void Postfix(GameObject go) { if (!NoDupeHelper.CheckConfig(CustomizeBuildingsState.IDOilWellCap)) { return; } OilWellCap oilWellCap = go.GetComponent <OilWellCap>(); if (oilWellCap == null) { Debug.LogWarning("oilWellCap was null"); return; } BuildingElementEmitter buildingElementEmitter = go.AddComponent <BuildingElementEmitter>(); buildingElementEmitter.emitRate = oilWellCap.addGasRate; // = 0.03333334f; buildingElementEmitter.temperature = oilWellCap.gasTemperature; // = 573.15f; buildingElementEmitter.element = oilWellCap.gasElement; // = SimHashes.Methane; buildingElementEmitter.modifierOffset = new Vector2(2f, 2f); UnityEngine.Object.DestroyImmediate(oilWellCap); go.AddOrGet <WaterPurifier>(); }
private static void Prefix(OilWellCap __instance, ref float dt) { var tinkerableWorkable = __instance.GetComponent <TinkerableWorkable>(); if (tinkerableWorkable != null) { dt *= tinkerableWorkable.GetMachinerySpeedMultiplier(); } }
private void OnCopySettings(object data) { GameObject gameObject = (GameObject)data; OilWellCap component = gameObject.GetComponent <OilWellCap>(); if ((Object)component != (Object)null) { depressurizePercent = component.depressurizePercent; } }
private static void Postfix(OilWellCap __instance) { if (OilWellCapBugFixOptions.Instance.AllowDepressurizeWhenOutOfWater) { var consumer = __instance.GetComponent <ConduitConsumer>(); if (consumer != null) { consumer.forceAlwaysSatisfied = true; } } }