コード例 #1
0
        private static void Postfix(GameObject go)
        {
            if (!(bool)EasierBuildingsState.StateManager.State.ExtraPipeOutputs)
            {
                return;
            }
            ConduitPortInfo secondaryOutPort = new ConduitPortInfo(ConduitType.Liquid, new CellOffset(1, 0));

            go.AddOrGet <Storage>().capacityKg = 100f;

            EnergyGenerator energyGenerator = go.AddOrGet <EnergyGenerator>();

            energyGenerator.formula.outputs = new EnergyGenerator.OutputItem[]
            {
                new EnergyGenerator.OutputItem(SimHashes.CarbonDioxide, 0.5f, false, new CellOffset(0, 3), 383.15f),
                new EnergyGenerator.OutputItem(SimHashes.DirtyWater, 0.75f, true, new CellOffset(1, 1), 313.15f)
            };

            ConduitDispenser2 conduitDispenser2 = go.AddOrGet <ConduitDispenser2>();

            conduitDispenser2.secondaryOutput     = secondaryOutPort;
            conduitDispenser2.conduitType         = secondaryOutPort.conduitType;
            conduitDispenser2.invertElementFilter = true;
            conduitDispenser2.elementFilter       = new SimHashes[]
            {
                SimHashes.Petroleum,
                SimHashes.Ethanol,
                SimHashes.CarbonDioxide
            };
        }
コード例 #2
0
        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;
        }