public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (value is string) { AsteroidType type = AsteroidType.GetTypeFromName((string)value); if (type != null) { return(type); } else { return(AsteroidType.AsteroidTypes[0]); } } return(base.ConvertFrom(context, culture, value)); }
public static void AddAsteroid(string type, LuaTable position, float multiplier, float rotX, float rotY, float rotZ, float rotSpeed) { //Log.WriteLine("Adding asteroid \"" + type + "\"."); Vector3 pos = LuaTableToVector3(position); Vector3 rot = Vector3.Zero; rot.X = rotX; rot.Y = rotY; rot.Z = rotZ; string newType = type.ToLower(); AsteroidType asteroidType = AsteroidType.GetTypeFromName(newType); if (asteroidType == null) { new Problem(ProblemTypes.WARNING, "Asteroid type \"" + newType + "\" not found. Skipping asteroid."); return; } new Asteroid(asteroidType, pos, rot, multiplier, rotSpeed); }