Exemplo n.º 1
0
        /// <summary>
        /// Abre el archivo de límites.
        /// </summary>
        /// <param name="elArchivo"></param>
        public void AbrirLímites(string elArchivo)
        {
            // Por ahora el único formato es el Polish.
            var limitsMapManager         = new ManejadorDeMapa(EscuchadorDeEstatus);
            LectorDeFormatoPolish lector = new LectorDeFormatoPolish(limitsMapManager, elArchivo);

            // Extrae los polígonos como los límites.
            IList <ElementoDelMapa> elementos = lector.ElementosDelMapa;

            misLímitesPorMapas.Clear();
            foreach (ElementoDelMapa elemento in elementos)
            {
                Polígono límite = elemento as Polígono;
                if (límite != null)
                {
                    string nombreDelMapa = límite.Nombre;
                    if (misLímitesPorMapas.ContainsKey(nombreDelMapa))
                    {
                        throw new ArgumentException(string.Format(
                                                        "El archivo de límites tiene el polígono del mapa '{0}' repetido.",
                                                        nombreDelMapa));
                    }
                    misLímitesPorMapas.Add(nombreDelMapa, límite);
                }
            }

            // Reportar los límites encontrados.
            EscuchadorDeEstatus.Estatus = string.Format("Leídos {0} límites.", misLímitesPorMapas.Count);

            // Actualizar los límites del mapa.
            ActualizaLímitesDelMapa();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Abre un archivo.
        /// </summary>
        /// <param name="elArchivo"></param>
        public void Abrir(string elArchivo)
        {
            Archivo = elArchivo;
            EscuchadorDeEstatus.ArchivoActivo = Path.GetFullPath(elArchivo);

            // Por ahora el único formato es el Polish.
            LectorDeFormatoPolish lector = new LectorDeFormatoPolish(this, elArchivo);

            IList <ElementoDelMapa> losElementos = lector.ElementosDelMapa;

            CreaMapaNuevo(losElementos);
        }