コード例 #1
0
        /// <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);
        }
コード例 #2
0
 /// <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);
 }