Пример #1
0
    public override void DoPostConfigureComplete(GameObject go)
    {
        GeneratedBuildings.MakeBuildingAlwaysOperational(go);
        GeneratedBuildings.RegisterLogicPorts(go, OUTPUT_PORT);
        LogicPressureSensor logicPressureSensor = go.AddOrGet <LogicPressureSensor>();

        logicPressureSensor.rangeMin  = 0f;
        logicPressureSensor.rangeMax  = 20f;
        logicPressureSensor.Threshold = 1f;
        logicPressureSensor.ActivateAboveThreshold = false;
        logicPressureSensor.manuallyControlled     = false;
        logicPressureSensor.desiredState           = Element.State.Gas;
    }
Пример #2
0
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
            SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>();

            simCellOccupier.setTransparent     = true;
            simCellOccupier.strengthMultiplier = 10f;
            simCellOccupier.notifyOnMelt       = true;
            go.AddOrGet <TileTemperature>();
            go.AddOrGet <KAnimGridTileVisualizer>().blockTileConnectorID = GlassTileConfig.BlockTileConnectorID;
            go.AddOrGet <BuildingHP>().destroyOnDamaged = true;
            go.GetComponent <KPrefabID>().AddTag(GameTags.Window, false);
        }
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        GeneratedBuildings.MakeBuildingAlwaysOperational(go);
        SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>();

        simCellOccupier.doReplaceElement = true;
        go.AddOrGet <TileTemperature>();
        KAnimGridTileVisualizer kAnimGridTileVisualizer = go.AddOrGet <KAnimGridTileVisualizer>();

        kAnimGridTileVisualizer.blockTileConnectorID = BlockTileConnectorID;
        BuildingHP buildingHP = go.AddOrGet <BuildingHP>();

        buildingHP.destroyOnDamaged = true;
    }
Пример #4
0
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            // varioius configs stolen from meshtile
            BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
            var sco = go.AddOrGet <SimCellOccupier>();

            sco.notifyOnMelt     = true;
            sco.doReplaceElement = DrainOptions.Instance.UseSolidDrain;
            go.AddOrGet <TileTemperature>();
            go.AddOrGet <BuildingHP>().destroyOnDamaged = true;
            // where you add the state machine, i think
            go.AddOrGet <Drain>();
        }
Пример #5
0
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            LadderHatch ladder = go.AddOrGet <LadderHatch>();

            ladder.upwardsMovementSpeedMultiplier   = 1f;
            ladder.downwardsMovementSpeedMultiplier = 1f;
            BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
            SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>();

            simCellOccupier.doReplaceElement = false;

            go.AddOrGet <AnimTileable>();
        }
Пример #6
0
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        GeneratedBuildings.MakeBuildingAlwaysOperational(go);
        BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
        ValveBase valveBase = go.AddOrGet <ValveBase>();

        valveBase.conduitType = CONDUIT_TYPE;
        valveBase.maxFlow     = 10f;

        go.AddOrGet <Valve>();
        Workable workable = go.AddOrGet <Workable>();

        workable.workTime = 5f;
    }
Пример #7
0
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            go.AddOrGet <ConveyorDropoff>();
            go.AddOrGet <SolidConduitConsumer>();

            var defaultStorage = BuildingTemplates.CreateDefaultStorage(go);

            defaultStorage.capacityKg       = 100f;
            defaultStorage.showInUI         = false;
            defaultStorage.allowItemRemoval = false;

            go.AddOrGet <SimpleVent>();
        }
Пример #8
0
        public override void DoPostConfigureComplete(GameObject go)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            LogicPorts logicPorts = go.AddOrGet <LogicPorts>();

            logicPorts.inputPortInfo  = null;
            logicPorts.outputPortInfo = new LogicPorts.Port[1]
            {
                OUTPUT_PORT
            };
            LogicScheduleSensor logicScheduleSensor = go.AddOrGet <LogicScheduleSensor>();

            logicScheduleSensor.manuallyControlled = false;
        }
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        GeneratedBuildings.MakeBuildingAlwaysOperational(go);
        BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
        SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>();

        simCellOccupier.doReplaceElement        = true;
        simCellOccupier.strengthMultiplier      = 1.5f;
        simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT.BONUS_2;
        simCellOccupier.notifyOnMelt            = true;
        go.AddOrGet <ForceFieldTile>();
        //go.AddOrGet<KAnimGridTileVisualizer>().blockTileConnectorID = TileConfig.BlockTileConnectorID;
        go.AddOrGet <BuildingHP>().destroyOnDamaged = true;
    }
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        GeneratedBuildings.MakeBuildingAlwaysOperational(go);
        BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
        SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>();

        simCellOccupier.doReplaceElement = false;
        go.AddOrGet <TileTemperature>();
        KAnimGridTileVisualizer kAnimGridTileVisualizer = go.AddOrGet <KAnimGridTileVisualizer>();

        kAnimGridTileVisualizer.blockTileConnectorID = BlockTileConnectorID;
        BuildingHP buildingHP = go.AddOrGet <BuildingHP>();

        buildingHP.destroyOnDamaged = true;
    }
Пример #11
0
        // Token: 0x06000018 RID: 24 RVA: 0x00002620 File Offset: 0x00000820
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefabTag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>();

            conduitConsumer.conduitType          = ConduitType.Liquid;
            conduitConsumer.consumptionRate      = 10f;
            conduitConsumer.capacityKG           = 20f;
            conduitConsumer.forceAlwaysSatisfied = true;
            SolidConduitDispenser solidConduitDispenser = go.AddOrGet <SolidConduitDispenser>();

            solidConduitDispenser.alwaysDispense = true;
            solidConduitDispenser.elementFilter  = null;
            BuildingTemplates.CreateDefaultStorage(go);
        }
Пример #12
0
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            go.AddOrGet <ZTransporter>().SetLocalAndExpectedID("SolidSender",
                                                               "SolidRecver");
            go.AddOrGet <ZConfigButton>();
            go.AddOrGet <OperationalGlueShimThing>();

            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            go.AddOrGet <SolidConduitConsumer>();
            Storage defaultStorage = BuildingTemplates.CreateDefaultStorage(go, false);

            defaultStorage.capacityKg             = 100f;
            defaultStorage.showInUI               = true;
            defaultStorage.allowItemRemoval       = false;
            go.AddOrGet <ObjectSender>().autoSend = true;
        }
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        GeneratedBuildings.MakeBuildingAlwaysOperational(go);
        BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
        SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>();

        simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT.BONUS_3;
        simCellOccupier.notifyOnMelt            = true;
        go.AddOrGet <TileTemperature>();
        KAnimGridTileVisualizer kAnimGridTileVisualizer = go.AddOrGet <KAnimGridTileVisualizer>();

        kAnimGridTileVisualizer.blockTileConnectorID = BlockTileConnectorID;
        BuildingHP buildingHP = go.AddOrGet <BuildingHP>();

        buildingHP.destroyOnDamaged = true;
    }
Пример #14
0
        public static void ConfigureTileBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);

            SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>();

            simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT.BONUS_2;
            simCellOccupier.strengthMultiplier      = 1.5f;
            simCellOccupier.doReplaceElement        = true;
            simCellOccupier.setTransparent          = true;

            go.AddOrGet <TileTemperature>();
            go.AddOrGet <KAnimGridTileVisualizer>().blockTileConnectorID = GlassTileConfig.BlockTileConnectorID;
            go.AddOrGet <BuildingHP>().destroyOnDamaged = true;
            go.GetComponent <KPrefabID>().AddTag(GameTags.Window, false);
        }
Пример #15
0
        public static void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag, bool makeSimpleDef = true)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
            SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>();

            if (!makeSimpleDef)
            {
                simCellOccupier.setLiquidImpermeable = true;
                simCellOccupier.setGasImpermeable    = true;
            }
            simCellOccupier.doReplaceElement = makeSimpleDef;
            simCellOccupier.notifyOnMelt     = true;
            go.AddOrGet <Insulator>();
            go.AddOrGet <TileTemperature>();
            go.AddOrGet <BuildingHP>().destroyOnDamaged = true;
        }
Пример #16
0
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            go.AddOrGet <LoopingSounds>();
            go.AddOrGet <Exhaust>();
            Vent vent = go.AddOrGet <Vent>();

            vent.conduitType      = ConduitType.Gas;
            vent.endpointType     = Endpoint.Sink;
            vent.overpressureMass = 400f;
            ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>();

            conduitConsumer.conduitType        = ConduitType.Gas;
            conduitConsumer.ignoreMinMassCheck = true;
            BuildingTemplates.CreateDefaultStorage(go, false).showInUI = true;
            go.AddOrGet <SimpleVent>();
        }
	public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
	{
		GeneratedBuildings.MakeBuildingAlwaysOperational(go);
		BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
		ValveBase valveBase = go.AddOrGet<ValveBase>();
		valveBase.conduitType = ConduitType.Liquid;
		valveBase.maxFlow = 10f;
		valveBase.animFlowRanges = new ValveBase.AnimRangeInfo[3]
		{
			new ValveBase.AnimRangeInfo(3f, "lo"),
			new ValveBase.AnimRangeInfo(7f, "med"),
			new ValveBase.AnimRangeInfo(10f, "hi")
		};
		go.AddOrGet<Valve>();
		Workable workable = go.AddOrGet<Workable>();
		workable.workTime = 5f;
	}
Пример #18
0
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            go.AddOrGet <ZTransporter>().SetLocalAndExpectedID("SolidRecver",
                                                               "SolidSender");
            go.AddOrGet <ZConfigButton>();

            go.AddOrGet <OperationalGlueShimThing>();

            GeneratedBuildings.MakeBuildingAlwaysOperational(go);

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

            storage.capacityKg     = 1000f;
            storage.showInUI       = true;
            storage.showDescriptor = true;
            storage.onlyTransferFromLowerPriority = true;
            storage.allowItemRemoval = true;
        }
Пример #19
0
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            // where you add the state machine, i think
            var rh = go.AddOrGet <RadiatesHeat>();

            rh.emissivity   = .77f;
            rh.surface_area = 1f;
            // tile stuff
            BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
            var simCellOccupier = go.AddOrGet <SimCellOccupier>();

            simCellOccupier.doReplaceElement        = true;
            simCellOccupier.strengthMultiplier      = 1.5f;
            simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT.BONUS_2;
            simCellOccupier.notifyOnMelt            = true;
            go.AddOrGet <TileTemperature>();
            go.AddOrGet <KAnimGridTileVisualizer>().blockTileConnectorID = TileConfig.BlockTileConnectorID;
            go.AddOrGet <BuildingHP>().destroyOnDamaged = true;
        }
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
            ValveBase valveBase = go.AddOrGet <ValveBase>();

            valveBase.conduitType = CONDUIT_TYPE;
            //Begin with a maxFlow of 1KG as if the pressurized integration was not a part of this building. The proper flow will be set through Harmony on spawn.
            valveBase.maxFlow        = 3f;
            valveBase.animFlowRanges = new ValveBase.AnimRangeInfo[3]
            {
                new ValveBase.AnimRangeInfo((0.25f * 3f), "lo"),
                new ValveBase.AnimRangeInfo((0.5f * 3f), "med"),
                new ValveBase.AnimRangeInfo((0.75f * 3f), "hi")
            };
            go.AddOrGet <TogglableValve>();
            Workable workable = go.AddOrGet <Workable>();

            workable.workTime = 5f;
        }
Пример #21
0
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
            SimCellOccupier simCellOccupier = go.AddOrGet <SimCellOccupier>();

            simCellOccupier.doReplaceElement = true;
            simCellOccupier.notifyOnMelt     = true;
            go.AddOrGet <TileTemperature>();
            BuildingTemplates.CreateDefaultStorage(go, false).SetDefaultStoredItemModifiers(Storage.StandardSealedStorage);
            PlantablePlot plantablePlot = go.AddOrGet <PlantablePlot>();

            plantablePlot.occupyingObjectRelativePosition = new Vector3(0.0f, 1f, 0.0f);
            plantablePlot.AddDepositTag(GameTags.CropSeed);
            plantablePlot.AddDepositTag(GameTags.WaterSeed);
            plantablePlot.SetFertilizationFlags(true, false);
            go.AddOrGet <CopyBuildingSettings>().copyGroupTag = GameTags.Farm;
            go.AddOrGet <AnimTileable>();
            Prioritizable.AddRef(go);
        }
Пример #22
0
        public static bool Prefix(GameObject go, Tag prefab_tag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
            var valveBase = go.AddOrGet <ValvePressure>();

            valveBase.conduitType    = ConduitType.Gas;
            valveBase.maxFlow        = CustomizeBuildingsState.StateManager.State.PipeGasMaxPressure;
            valveBase.animFlowRanges = new ValveBase.AnimRangeInfo[]
            {
                new ValveBase.AnimRangeInfo(3f, "lo"),
                new ValveBase.AnimRangeInfo(7f, "med"),
                new ValveBase.AnimRangeInfo(10f, "hi")
            };
            go.AddOrGet <Valve>();
            Workable workable = go.AddOrGet <Workable>();

            workable.workTime = 5f;

            return(false);
        }
Пример #23
0
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            GeneratedBuildings.MakeBuildingAlwaysOperational(go);
            BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
            ValveBase valveBase = go.AddOrGet <ValveBase>();

            valveBase.conduitType    = CONDUIT_TYPE;
            valveBase.maxFlow        = 10f;
            valveBase.animFlowRanges = new ValveBase.AnimRangeInfo[3]
            {
                new ValveBase.AnimRangeInfo((10f * 0.25f), "lo"),
                new ValveBase.AnimRangeInfo((10f * 0.5f), "med"),
                new ValveBase.AnimRangeInfo((10f * 0.75f), "hi")
            };
            go.AddOrGet <Valve>();
            Tintable tint = go.AddOrGet <Tintable>();

            Tintable.AddToTintTable(ID, new Color32(255, 40, 40, 255));
            Workable workable = go.AddOrGet <Workable>();

            workable.workTime = 5f;
        }
Пример #24
0
        public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
        {
            go.AddOrGet <ZTransporter>().SetLocalAndExpectedID("SolidRecver",
                                                               "SolidSender");
            go.AddOrGet <ZConfigButton>();
            go.AddOrGet <OperationalGlueShimThing>();

            List <Tag> tagList = new List <Tag>();

            tagList.AddRange((IEnumerable <Tag>)STORAGEFILTERS.NOT_EDIBLE_SOLIDS);
            tagList.AddRange((IEnumerable <Tag>)STORAGEFILTERS.FOOD);
            Storage storage = go.AddOrGet <Storage>();

            storage.capacityKg       = 100f;
            storage.showInUI         = true;
            storage.showDescriptor   = true;
            storage.storageFilters   = tagList;
            storage.allowItemRemoval = false;

            GeneratedBuildings.MakeBuildingAlwaysOperational(go);

            go.AddOrGet <ObjectRecver>();
        }
 public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
 {
     BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
     GeneratedBuildings.MakeBuildingAlwaysOperational(go);
 }
Пример #26
0
 public override void DoPostConfigureComplete(GameObject go)
 {
     GeneratedBuildings.MakeBuildingAlwaysOperational(go);
     go.AddOrGet <LogicMemory>();
     GeneratedBuildings.RegisterLogicPorts(go, INPUT_PORTS, OUTPUT_PORTS);
 }
 public override void DoPostConfigureComplete(GameObject go)
 {
     GeneratedBuildings.MakeBuildingAlwaysOperational(go);
 }
Пример #28
0
 public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
 {
     GeneratedBuildings.MakeBuildingAlwaysOperational(go);
     go.AddOrGet <Stair>();
     go.AddOrGet <AnimStairs>();
 }
Пример #29
0
 public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
 {
     GeneratedBuildings.MakeBuildingAlwaysOperational(go);
 }
Пример #30
0
 public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
 {
     GeneratedBuildings.MakeBuildingAlwaysOperational(go);
     // where you add the state machine, i think
     go.AddOrGet<Radiator>();
 }