Ejemplo n.º 1
0
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.IndustrialMachinery, false);
        RustDeoxidizer rustDeoxidizer = go.AddOrGet <RustDeoxidizer>();

        rustDeoxidizer.maxMass = 1.8f;
        Storage storage = go.AddOrGet <Storage>();

        storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage);
        storage.showInUI = true;
        ManualDeliveryKG manualDeliveryKG = go.AddOrGet <ManualDeliveryKG>();

        manualDeliveryKG.SetStorage(storage);
        manualDeliveryKG.requestedItemTag = new Tag("Rust");
        manualDeliveryKG.capacity         = 585f;
        manualDeliveryKG.refillMass       = 193.05f;
        manualDeliveryKG.choreTypeIDHash  = Db.Get().ChoreTypes.FetchCritical.IdHash;
        ManualDeliveryKG manualDeliveryKG2 = go.AddComponent <ManualDeliveryKG>();

        manualDeliveryKG2.SetStorage(storage);
        manualDeliveryKG2.requestedItemTag = new Tag("Salt");
        manualDeliveryKG2.capacity         = 195f;
        manualDeliveryKG2.refillMass       = 64.3500061f;
        manualDeliveryKG2.allowPause       = true;
        manualDeliveryKG2.choreTypeIDHash  = Db.Get().ChoreTypes.FetchCritical.IdHash;
        ElementConverter elementConverter = go.AddOrGet <ElementConverter>();

        elementConverter.consumedElements = new ElementConverter.ConsumedElement[2]
        {
            new ElementConverter.ConsumedElement(new Tag("Rust"), 0.75f),
            new ElementConverter.ConsumedElement(new Tag("Salt"), 0.25f)
        };
        elementConverter.outputElements = new ElementConverter.OutputElement[3]
        {
            new ElementConverter.OutputElement(0.57f, SimHashes.Oxygen, 348.15f, false, false, 0f, 1f, 1f, byte.MaxValue, 0),
            new ElementConverter.OutputElement(0.0300000012f, SimHashes.ChlorineGas, 348.15f, false, false, 0f, 1f, 1f, byte.MaxValue, 0),
            new ElementConverter.OutputElement(0.4f, SimHashes.IronOre, 348.15f, false, true, 0f, 1f, 1f, byte.MaxValue, 0)
        };
        ElementDropper elementDropper = go.AddComponent <ElementDropper>();

        elementDropper.emitMass   = 24f;
        elementDropper.emitTag    = SimHashes.IronOre.CreateTag();
        elementDropper.emitOffset = new Vector3(0f, 1f, 0f);
        Prioritizable.AddRef(go);
    }
 private static bool OverPressure(int cell, RustDeoxidizer rustDeoxidizer)
 {
     return(Grid.Mass[cell] > rustDeoxidizer.maxMass);
 }