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(); }
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(); } }