public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        SuitLocker suitLocker = go.AddOrGet <SuitLocker>();

        suitLocker.OutfitTags = new Tag[1]
        {
            GameTags.JetSuit
        };
        ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>();

        conduitConsumer.conduitType          = ConduitType.Gas;
        conduitConsumer.consumptionRate      = 1f;
        conduitConsumer.capacityTag          = ElementLoader.FindElementByHash(SimHashes.Oxygen).tag;
        conduitConsumer.wrongElementResult   = ConduitConsumer.WrongElementResult.Dump;
        conduitConsumer.forceAlwaysSatisfied = true;
        conduitConsumer.capacityKG           = 200f;
        JetSuitLocker jetSuitLocker = go.AddComponent <JetSuitLocker>();

        jetSuitLocker.portInfo = secondaryInputPort;
        AnimTileable animTileable = go.AddOrGet <AnimTileable>();

        animTileable.tags = new Tag[2]
        {
            new Tag("JetSuitLocker"),
            new Tag("JetSuitMarker")
        };
        Storage storage = go.AddOrGet <Storage>();

        storage.capacityKg = 500f;
        Prioritizable.AddRef(go);
    }
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        GeneratedBuildings.MakeBuildingAlwaysOperational(go);
        AnimTileable animTileable = go.AddOrGet <AnimTileable>();

        animTileable.objectLayer = ObjectLayer.Backwall;
        go.AddComponent <ZoneTile>();
        BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
    }
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        AnimTileable animTileable = go.AddOrGet <AnimTileable>();

        animTileable.objectLayer = ObjectLayer.Backwall;
        go.AddComponent <ZoneTile>();
        go.GetComponent <PrimaryElement>().SetElement(SimHashes.Steel);
        go.GetComponent <PrimaryElement>().Temperature = 273f;
        BuildingConfigManager.Instance.IgnoreDefaultKComponent(typeof(RequiresFoundation), prefab_tag);
    }
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        SuitMarker suitMarker = go.AddOrGet <SuitMarker>();

        suitMarker.LockerTags = new Tag[1]
        {
            new Tag("JetSuitLocker")
        };
        suitMarker.PathFlag     = PathFinder.PotentialPath.Flags.HasJetPack;
        suitMarker.interactAnim = Assets.GetAnim("anim_interacts_changingarea_jetsuit_arrow_kanim");
        AnimTileable animTileable = go.AddOrGet <AnimTileable>();

        animTileable.tags = new Tag[2]
        {
            new Tag("JetSuitMarker"),
            new Tag("JetSuitLocker")
        };
        go.AddTag(GameTags.JetSuitBlocker);
    }