public static float GetValue(this CompProperties_Tool toolProp, ToolType toolType, float fallback = 0f, ThingDef stuffDef = null) { if (toolProp.TryGetValue(toolType, out float val, stuffDef)) { return(val); } return(fallback); }
public static bool TryGetValue(this CompProperties_Tool toolProp, ToolType toolType, out float val, ThingDef stuffDef = null) { val = 0f; if (!toolProp.toolTypesValue.ToolTypeListContains(toolType, out var modifier)) { return(false); } val = modifier.value * toolType.GetStuffEfficiency(stuffDef); return(true); }