public static JobResource GetDivineResource(this Pawn target, DivineJobResourceDef def) { if (target.GetJobsComp() is DivineJobsComp comp) { return(comp.resources.FirstOrDefault(resource => resource.def == def)); } return(null); }
public static JobResource MakeResourceInstance(DivineJobResourceDef def, Pawn owner = null, DivineJobsComp comp = null) { JobResource instance = (JobResource)Activator.CreateInstance(def.resourceClass); instance.def = def; instance.owner = owner; instance.jobsComp = comp; instance.PostMake(); return(instance); }