public static MapObjectSpecial NewFromXml(XmlNode item)
        {
            MapObjectSpecial smo = null;

            if (item.Name == "destroy_near")
            {
                smo = new SpecialMapObject_DestroyCircle();
            }
            if (item.Name == "add_ai" || item.Name == "direct")
            {
                smo = new SpecialMapObject_PointTarget();
            }
            if ((item.Name == "if_inside_box") ||
                (item.Name == "if_inside_sphere") ||
                (item.Name == "if_outside_box") ||
                (item.Name == "if_outside_sphere"))
            {
                smo = new SpecialMapObject_BoxSphere();
            }

            if (smo == null)
            {
                return(null);
            }

            smo.FromXml(item);
            return(smo);
        }
        public static MapObjectSpecial NewFromXml(XmlNode item)
        {
            MapObjectSpecial smo = null;

            if (item.Name == "destroy_near")
                smo = new SpecialMapObject_DestroyCircle();
            if (item.Name == "add_ai" || item.Name == "direct")
                smo = new SpecialMapObject_PointTarget();
            if ((item.Name == "if_inside_box")
                || (item.Name == "if_inside_sphere")
                || (item.Name == "if_outside_box")
                || (item.Name == "if_outside_sphere"))
                smo = new SpecialMapObject_BoxSphere();

            if (smo == null)
                return null;

            smo.FromXml(item);
            return smo;
        }