public static RotateSpinner FromElement(MapElement node) { int x = node.AttrInt("x", 0); int y = node.AttrInt("y", 0); string levelName = node.SelectParent("level").Attr("Name"); string map = node.SelectParent("map").Attr("_package"); bool isDust = map.IndexOf("-CelestialResort", StringComparison.OrdinalIgnoreCase) > 0; isDust |= map.IndexOf("-Summit", StringComparison.OrdinalIgnoreCase) > 0 && levelName.StartsWith("d-", StringComparison.OrdinalIgnoreCase); RotateSpinner entity = new RotateSpinner(isDust ? Type.Dust : Type.Crystal); entity.Position = new Vector2(x, y); entity.ID = node.AttrInt("id", 0); return(entity); }