Esempio n. 1
0
        //ConfigureBuildingTemplate from rafinnery example
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false);
            go.AddOrGet <BuildingComplete>().isManuallyOperated = true;
            HeliumExtractor heliumExtractor = go.AddOrGet <HeliumExtractor>();

            heliumExtractor.overpressureMass = 10f;
            ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>();

            conduitConsumer.conduitType          = ConduitType.Gas;
            conduitConsumer.consumptionRate      = totalConversion;
            conduitConsumer.capacityTag          = SimHashes.Methane.CreateTag();
            conduitConsumer.wrongElementResult   = ConduitConsumer.WrongElementResult.Dump;
            conduitConsumer.capacityKG           = 10f;
            conduitConsumer.forceAlwaysSatisfied = true;


            ConduitDispenser conduitDispenser = go.AddOrGet <ConduitDispenser>();

            conduitDispenser.conduitType         = ConduitType.Gas;
            conduitDispenser.invertElementFilter = true;
            conduitDispenser.elementFilter       = new SimHashes[]
            {
                SimHashes.Methane,
                SimHashes.Propane
            };

            ConduitDispenser conduitDispenser2 = go.AddComponent <ConduitDispenser>();

            conduitDispenser2.conduitType         = ConduitType.Gas;
            conduitDispenser2.invertElementFilter = true;
            conduitDispenser2.elementFilter       = new SimHashes[]
            {
                SimHashes.Methane,
                SimHashes.Helium
            };
            conduitDispenser2.useSecondaryOutput = true;


            ConduitSecondaryOutput secondOutput = go.AddOrGet <ConduitSecondaryOutput>();

            secondOutput.portInfo = secondaryPort;

            Storage storage = go.AddOrGet <Storage>();

            storage.showInUI = true;
            ElementConverter elementConverter = go.AddOrGet <ElementConverter>();

            elementConverter.consumedElements = new ElementConverter.ConsumedElement[]
            {
                new ElementConverter.ConsumedElement(SimHashes.Methane.CreateTag(), totalConversion)
            };
            elementConverter.outputElements = new ElementConverter.OutputElement[]
            {
                new ElementConverter.OutputElement(heliumConversionRate, SimHashes.Sulfur, 350.15f, false, false),
                new ElementConverter.OutputElement(heliumConversionRate, SimHashes.Helium, 80.15f, false, true),
                new ElementConverter.OutputElement(propaneConversionRate, SimHashes.Propane, 81.15f, false, true)
            };
            Prioritizable.AddRef(go);
        }
    private void AttachPort(GameObject go)
    {
        ConduitSecondaryOutput conduitSecondaryOutput = go.AddComponent <ConduitSecondaryOutput>();

        conduitSecondaryOutput.portInfo = secondaryPort;
    }
        private void AttachPort(GameObject go)
        {
            ConduitSecondaryOutput secondOutput = go.AddOrGet <ConduitSecondaryOutput>();

            secondOutput.portInfo = secondaryPort;
        }