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; }
/// <summary> /// Applied after OnPrefabInit runs. /// </summary> internal static void Postfix(HandSanitizer.Work __instance) { __instance.gameObject?.AddComponent <SinkCheckpoint>(); }
public static void Prefix(HandSanitizer.Work __instance) { GermySinkManager.Instance?.StartGermyWork(__instance); }
public static void Postfix(HandSanitizer.Work __instance, Worker worker) { GermySinkManager.Instance?.FinishGermyWork(__instance, worker); }
public static void Prefix(HandSanitizer.Work __instance, float dt) { GermySinkManager.Instance?.SinkWorkTick(__instance, dt); }