private static void agregarEscenarios(String[] lista, String posiciones) { String id = ""; String ruta = ""; Boolean encontrado = false; EscenarioFondo miEscenario = new EscenarioFondo(); for (int i = 0; i < lista.Length; i++) { String[] term = lista[i].ToString().Split(' '); //Console.WriteLine(term[0]); //Console.WriteLine(term[1]); if (term[1] == "(identificador)") { id = term[0]; } if (term[1] == "(cadena)") { ruta = term[0]; } } //Agregando TOKENS String[] posXY = posiciones.ToString().Split(';'); String[] pos1 = posXY[0].ToString().Split(','); String[] pos2 = posXY[1].ToString().Split(','); //Verifico si el id del fondo no esta repetido, de lo contrario si ya esta solo, actualiza el path. if (miListaFondos.Count != 0) { foreach (EscenarioFondo item in miListaFondos) { //Si encuentra un id repetido lo actualiza if (string.Equals(item.identificador, id, StringComparison.OrdinalIgnoreCase)) { item.ruta = ruta; encontrado = true; break; } } //Si no encuentra ningun id repetido lo agrega if (encontrado == false) { miListaFondos.Add(new EscenarioFondo(id, ruta)); agregarTokensATablaSimbolos(id, Convert.ToInt16(pos1[0]), Convert.ToInt16(pos1[1]), "background"); agregarTokensATablaSimbolos(ruta, Convert.ToInt16(pos2[0]), Convert.ToInt16(pos2[1]), "ruta"); } } else { miListaFondos.Add(new EscenarioFondo(id, ruta)); } }
public static void almacenarFondo(String tipo, String nombre, String ancho, String alto) { String[] fondo = splitEspacio(nombre); Boolean encontrado = false; EscenarioFondo escenario = null; if (string.Equals(tipo, "background", StringComparison.OrdinalIgnoreCase)) { foreach (EscenarioFondo item in Recorrido1.miListaFondos) { if (string.Equals(item.identificador, fondo[0], StringComparison.OrdinalIgnoreCase)) { encontrado = true; escenario = item; break; } } if (encontrado == true) { if (Convert.ToInt32(ancho) == Convert.ToInt32(alto)) { milistaObjetosEscenario.Add(new SuperEscenario(tipo, escenario, Convert.ToInt32(ancho), Convert.ToInt32(alto))); Console.WriteLine("Fondo id => " + nombre + " agregado a la lista super"); } else if (Convert.ToInt32(ancho) > Convert.ToInt32(alto)) { milistaObjetosEscenario.Add(new SuperEscenario(tipo, escenario, Convert.ToInt32(ancho), Convert.ToInt32(ancho))); Console.WriteLine("Fondo id => " + nombre + " agregado a la lista super"); listaErrores.Add(new Error("Semantico", nombre + " no es n x n alto es menor que ancho..alto = ancho")); //Console.WriteLine("Semantico, no es n x n alto es menor que ancho.. alto = ancho"); } else if (Convert.ToInt32(ancho) < Convert.ToInt32(alto)) { milistaObjetosEscenario.Add(new SuperEscenario(tipo, escenario, Convert.ToInt32(alto), Convert.ToInt32(alto))); Console.WriteLine("Fondo id => " + nombre + " agregado a la lista super"); listaErrores.Add(new Error("Semantico", nombre + "no es nxn ancho es menor que alto, ahora ancho=alto")); //Console.WriteLine("Semantico, no es nxn ancho es menor que alto, ahora ancho=alto"); } } else { listaErrores.Add(new Error("Semantico", "no existe fondo con el id => " + fondo[0])); //Console.WriteLine("Sematico, no existe fondo con el id =>" + fondo[0]); } } }