protected override bool OnWorkTick(Worker worker, float dt)
        {
            base.OnWorkTick(worker, dt);
            HandSanitizer component     = GetComponent <HandSanitizer>();
            Storage       component2    = GetComponent <Storage>();
            float         massAvailable = component2.GetMassAvailable(component.consumedElement);

            if (massAvailable == 0f)
            {
                return(true);
            }
            PrimaryElement component3 = worker.GetComponent <PrimaryElement>();
            float          a          = component.massConsumedPerUse * dt / workTime;
            float          num        = Mathf.Min(a, massAvailable);
            int            num2       = Math.Min((int)(dt / workTime * (float)component.diseaseRemovalCount), component3.DiseaseCount);

            diseaseRemoved += num2;
            SimUtil.DiseaseInfo invalid = SimUtil.DiseaseInfo.Invalid;
            invalid.idx   = component3.DiseaseIdx;
            invalid.count = num2;
            component3.ModifyDiseaseCount(-num2, "HandSanitizer.OnWorkTick");
            component.maxPossiblyRemoved += num2;
            SimUtil.DiseaseInfo disease_info = SimUtil.DiseaseInfo.Invalid;
            component2.ConsumeAndGetDisease(ElementLoader.FindElementByHash(component.consumedElement).tag, num, out disease_info, out float aggregate_temperature);
            if (component.outputElement != SimHashes.Vacuum)
            {
                disease_info = SimUtil.CalculateFinalDiseaseInfo(invalid, disease_info);
                component2.AddLiquid(component.outputElement, num, aggregate_temperature, disease_info.idx, disease_info.count, false, true);
            }
            return(diseaseRemoved > component.diseaseRemovalCount);
        }
    public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
    {
        go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.WashStation, false);
        go.GetComponent <KPrefabID>().AddTag(RoomConstraints.ConstraintTags.AdvancedWashStation, false);
        HandSanitizer handSanitizer = go.AddOrGet <HandSanitizer>();

        handSanitizer.massConsumedPerUse  = 0.07f;
        handSanitizer.consumedElement     = SimHashes.BleachStone;
        handSanitizer.diseaseRemovalCount = 480000;
        HandSanitizer.Work work = go.AddOrGet <HandSanitizer.Work>();
        work.overrideAnims = new KAnimFile[1]
        {
            Assets.GetAnim("anim_interacts_handsanitizer_kanim")
        };
        work.workTime  = 1.8f;
        work.trackUses = true;
        Storage storage = go.AddOrGet <Storage>();

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

        manualDeliveryKG.SetStorage(storage);
        manualDeliveryKG.requestedItemTag = GameTagExtensions.Create(SimHashes.BleachStone);
        manualDeliveryKG.capacity         = 15f;
        manualDeliveryKG.refillMass       = 3f;
        manualDeliveryKG.choreTypeIDHash  = Db.Get().ChoreTypes.FetchCritical.IdHash;
    }
 public void OneTimeSetUp()
 {
     mask          = new Mask();
     gloves        = new Gloves();
     handSanitizer = new HandSanitizer();
     medicalGown   = new MedicalGown();
 }
Exemple #4
0
 void OnTriggerEnter(Collider collider)
 {
     if (collider.tag == "dollop")
     {
         Destroy(collider.gameObject);
         Debug.Log("Sani Hits the Hand " + gameObject.name);
         sanitizer = GameObject.Find("HandSanitizerDispenser").GetComponent <HandSanitizer>();
         Debug.Log(transform.parent.transform.parent.name);
         //sanitizer.leftSanitized
         sanitizer.Sanitized();
     }
 }