超级玩家
 
- 贡献度
- 11
- 金元
- 6403
- 积分
- 684
- 精华
- 0
- 注册时间
- 2018-9-1
|
using System;
using TUNING;
using UnityEngine;
// Token: 0x02000089 RID: 137
public class ElectrolyzerConfig : IBuildingConfig
{
// Token: 0x06000211 RID: 529
public override BuildingDef CreateBuildingDef()
{
string id = "Electrolyzer";
int width = 2;
int height = 2;
string anim = "electrolyzer_kanim";
int hitpoints = 30;
float construction_time = 30f;
float[] tier = BUILDINGS.CONSTRUCTION_MASS_KG.TIER3;
string[] all_METALS = MATERIALS.ALL_METALS;
float melting_point = 800f;
BuildLocationRule build_location_rule = BuildLocationRule.OnFloor;
EffectorValues tier2 = NOISE_POLLUTION.NOISY.TIER3;
BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tier, all_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER1, tier2, 0.2f);
buildingDef.RequiresPowerInput = true;
buildingDef.PowerInputOffset = new CellOffset(1, 0);
buildingDef.EnergyConsumptionWhenActive = 120f;
buildingDef.ExhaustKilowattsWhenActive = 0f;
buildingDef.SelfHeatKilowattsWhenActive = 0f;
buildingDef.Floodable = false;
buildingDef.Overheatable = false;
buildingDef.Breakable = false;
buildingDef.ViewMode = OverlayModes.Oxygen.ID;
buildingDef.AudioCategory = "HollowMetal";
buildingDef.InputConduitType = ConduitType.Liquid;
buildingDef.UtilityInputOffset = new CellOffset(0, 0);
buildingDef.OutputConduitType = ConduitType.Gas;
buildingDef.UtilityOutputOffset = new CellOffset(1, 1);
buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(1, 1));
return buildingDef;
}
// Token: 0x06000212 RID: 530
public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
{
CellOffset cellOffset = new CellOffset(0, 1);
go.GetComponent<KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false);
Electrolyzer electrolyzer = go.AddOrGet<Electrolyzer>();
electrolyzer.maxMass = 1.8f;
electrolyzer.hasMeter = true;
electrolyzer.emissionOffset = cellOffset;
ConduitConsumer conduitConsumer = go.AddOrGet<ConduitConsumer>();
conduitConsumer.conduitType = ConduitType.Liquid;
conduitConsumer.consumptionRate = 1f;
conduitConsumer.capacityTag = ElementLoader.FindElementByHash(SimHashes.Water).tag;
conduitConsumer.wrongElementResult = ConduitConsumer.WrongElementResult.Dump;
Storage storage = go.AddOrGet<Storage>();
storage.capacityKg = 2f;
storage.showInUI = true;
ElementConverter elementConverter = go.AddOrGet<ElementConverter>();
elementConverter.consumedElements = new ElementConverter.ConsumedElement[]
{
new ElementConverter.ConsumedElement(new Tag("Water"), 1f)
};
elementConverter.outputElements = new ElementConverter.OutputElement[]
{
new ElementConverter.OutputElement(0.998f, SimHashes.Oxygen, 300.15f, false, true, (float)cellOffset.x, (float)cellOffset.y, 1f, byte.MaxValue, 0),
new ElementConverter.OutputElement(0.00199f, SimHashes.Hydrogen, 300.15f, false, true, (float)cellOffset.x, (float)cellOffset.y, 1f, byte.MaxValue, 0)
};
Prioritizable.AddRef(go);
}
// Token: 0x06000213 RID: 531
public override void DoPostConfigureComplete(GameObject go)
{
go.AddOrGet<LogicOperationalController>();
go.AddOrGetDef<PoweredActiveController.Def>();
}
// Token: 0x0400013C RID: 316
public const string ID = "Electrolyzer";
// Token: 0x0400013D RID: 317
public const float WATER2OXYGEN_RATIO = 0.998f;
// Token: 0x0400013E RID: 318
public const float OXYGEN_TEMPERATURE = 300.15f;
这是我用的,电解器运转正常,就像你说的,氢氧在一根管里,需要过滤器分离。一直在想要多加一根管子,加不上。
}
|
|