protected override void OnSpawn() { base.OnSpawn(); Prioritizable.AddRef(base.gameObject); doctor_workable = GetComponent <DoctorStationDoctorWorkable>(); SetWorkTime(float.PositiveInfinity); smi = new StatesInstance(this); smi.StartSM(); OnStorageChange(null); Subscribe(-1697596308, OnStorageChangeDelegate); }
public override void DoPostConfigureComplete(GameObject go) { Storage storage = go.AddOrGet <Storage>(); storage.showInUI = true; ManualDeliveryKG manualDeliveryKG = go.AddOrGet <ManualDeliveryKG>(); manualDeliveryKG.SetStorage(storage); manualDeliveryKG.requestedItemTag = SUPPLY_TAG; manualDeliveryKG.capacity = 10f; manualDeliveryKG.refillMass = 5f; manualDeliveryKG.minimumMass = 1f; manualDeliveryKG.choreTypeIDHash = Db.Get().ChoreTypes.DoctorFetch.IdHash; manualDeliveryKG.operationalRequirement = FetchOrder2.OperationalRequirement.Functional; DoctorStation doctorStation = go.AddOrGet <DoctorStation>(); doctorStation.overrideAnims = new KAnimFile[1] { Assets.GetAnim("anim_interacts_medical_bed_kanim") }; doctorStation.workLayer = Grid.SceneLayer.BuildingFront; doctorStation.supplyTag = SUPPLY_TAG; RoomTracker roomTracker = go.AddOrGet <RoomTracker>(); roomTracker.requiredRoomType = Db.Get().RoomTypes.Hospital.Id; roomTracker.requirement = RoomTracker.Requirement.CustomRecommended; roomTracker.customStatusItemID = Db.Get().BuildingStatusItems.ClinicOutsideHospital.Id; DoctorStationDoctorWorkable doctorStationDoctorWorkable = go.AddOrGet <DoctorStationDoctorWorkable>(); doctorStationDoctorWorkable.overrideAnims = new KAnimFile[1] { Assets.GetAnim("anim_interacts_medical_bed_doctor_kanim") }; doctorStationDoctorWorkable.SetWorkTime(60f); doctorStationDoctorWorkable.requiredSkillPerk = Db.Get().SkillPerks.CanAdvancedMedicine.Id; }
private Chore CreateDoctorChore(StatesInstance smi) { DoctorStationDoctorWorkable component = smi.master.GetComponent <DoctorStationDoctorWorkable>(); return(new WorkChore <DoctorStationDoctorWorkable>(Db.Get().ChoreTypes.Doctor, component, null, true, null, null, null, false, null, false, true, null, false, true, false, PriorityScreen.PriorityClass.high, 5, false, true)); }