/// <summary> /// Finds TrackWheelModel given name (case insensitive). If the name contains /// "sprocket" results in TrackWheelModel.Sprocket, "idler" in TrackWheelModel.Idler /// and "roller" in TrackWheelModel.Roller. /// </summary> /// <param name="name">Name of the object.</param> /// <param name="model">Output track wheel model if found.</param> /// <param name="nameModelPredicate">Match name vs. model - true if name match the model, otherwise false.</param> /// <returns>True if <paramref name="model"/> is set given <paramref name="name"/>, otherwise false.</returns> public static bool TryFindModel(string name, ref TrackWheelModel model, Func <string, TrackWheelModel, bool> nameModelPredicate = null) { if (string.IsNullOrEmpty(name)) { return(false); } var predicate = nameModelPredicate ?? new Func <string, TrackWheelModel, bool>((n, m) => false); name = name.ToLower(); if (name.Contains("sprocket") || predicate(name, TrackWheelModel.Sprocket)) { model = TrackWheelModel.Sprocket; return(true); } else if (name.Contains("idler") || predicate(name, TrackWheelModel.Idler)) { model = TrackWheelModel.Idler; return(true); } else if (name.Contains("roller") || predicate(name, TrackWheelModel.Roller)) { model = TrackWheelModel.Roller; return(true); } return(false); }
/// <summary> /// Converts TrackWheelModel to agxVehicle.TrackWheel.Model. /// </summary> /// <param name="model">TrackWheelModel type.</param> /// <returns>agxVehicle.TrackWheel.Model of TrackWheelModel.</returns> public static agxVehicle.TrackWheel.Model ToNative(TrackWheelModel model) { return((agxVehicle.TrackWheel.Model)(int) model); }