/// <summary> /// Función que gestiona la pulsación del botón borrar de la pantalla. /// </summary> public void pulsar() { if (CreadorDeCuadriculas.mapaActualEditor == dropdownMapas.options[dropdownMapas.value].text) { CreadorDeCuadriculas.mapaActualEditor = null; } CrearArchivo.BorrarArchivoMapa(dropdownMapas.options[dropdownMapas.value].text); creadorDeCuadriculas.ComprobarSiExistenMapasGuardados(); creadorDeCuadriculas.AbrirCerrarMenuBorrado(); }
/// <summary> /// Función que busca el <see cref="mapaActualEditor"/> y lo carga en el editor /// </summary> public void CargarMapaAlEditor() { BorrarCuadriculas(); GenerarCuadriculas(); Toggle tsuelo = GameObject.Find("Hsuelo").GetComponent <Toggle>(); tsuelo.isOn = true; //Mapa mapa = new Mapa(CrearArchivo.cargarObjetosMapa()); Mapa mapa = new Mapa(CrearArchivo.cargarObjetosMapa(mapaActualEditor)); ObjetoMapa evento = null; List <TileMapa> suelos = new List <TileMapa>(); suelos.AddRange(mapa.TerrenoTraspasable); suelos.AddRange(mapa.TerrenoNoTraspasable); foreach (TileMapa suelotras in suelos) { evento = null; foreach (JugadorMapa jugador in mapa.Jugador) { if (jugador.X == suelotras.X && jugador.Y == suelotras.Y && jugador.Z == suelotras.Z) { //Debug.Log("Entro aqui siempre ????"); evento = jugador; break; } } if (evento == null) { foreach (EnemigoMapa enemigo in mapa.Enemigo) { if (enemigo.X == suelotras.X && enemigo.Y == suelotras.Y && enemigo.Z == suelotras.Z) { evento = enemigo; break; } } } if (evento == null) { foreach (ArbustoMapa arbusto in mapa.Arbusto) { if (arbusto.X == suelotras.X && arbusto.Y == suelotras.Y && arbusto.Z == suelotras.Z) { evento = arbusto; break; } } } if (evento == null) { foreach (ObstaculosMapa obstaculo in mapa.Obstaculos) { if (obstaculo.X == suelotras.X && obstaculo.Y == suelotras.Y && obstaculo.Z == suelotras.Z) { evento = obstaculo; break; } } } //Debug.Log("buscando pos x: " + suelotras.X + " pos y: " + suelotras.Y); foreach (GameObject celda in cuadriculas) { PulsarCuadricula pulsar = celda.GetComponent <PulsarCuadricula>(); RectTransform rectTrans = celda.GetComponent <RectTransform>(); //Debug.Log("pos x: " + tilemap.WorldToCell(rectTrans.position).x + " pos y: " + tilemap.WorldToCell(rectTrans.position).y); if (tilemap.WorldToCell(rectTrans.position).x == suelotras.X && tilemap.WorldToCell(rectTrans.position).y == suelotras.Y) { pulsar.pintarSuelo(suelotras.Tile, suelotras.Traspasable); if (evento != null) { if (evento is JugadorMapa) { if (pulsar.Evento != eventosMapa.jugador) { pulsar.actualizarEvento(eventosMapa.jugador, true); } } else if (evento is EnemigoMapa) { switch (((EnemigoMapa)evento).TipoEnemigo) { case eEnemigo.Moco: if (pulsar.Evento != eventosMapa.moco) { pulsar.actualizarEvento(eventosMapa.moco, true); } break; case eEnemigo.Orco: if (pulsar.Evento != eventosMapa.orco) { pulsar.actualizarEvento(eventosMapa.orco, true); } break; case eEnemigo.Tronquito: if (pulsar.Evento != eventosMapa.tronquito) { pulsar.actualizarEvento(eventosMapa.tronquito, true); } break; } } else if (evento is ArbustoMapa) { if (pulsar.Evento != eventosMapa.arbusto) { pulsar.actualizarEvento(eventosMapa.arbusto, true); } } else if (evento is ObstaculosMapa) { switch (((ObstaculosMapa)evento).TipoObstaculo) { case eObstaculos.Arbol: if (pulsar.Evento != eventosMapa.arbol) { pulsar.actualizarEvento(eventosMapa.arbol, true); } break; case eObstaculos.Tocon: if (pulsar.Evento != eventosMapa.tocon) { pulsar.actualizarEvento(eventosMapa.tocon, true); } break; case eObstaculos.RocaGrande: if (pulsar.Evento != eventosMapa.rocaGrande) { pulsar.actualizarEvento(eventosMapa.rocaGrande, true); } break; } } } break; } } } }
/// <summary> /// Función que genera el mapa de la escena en función de un archivo /// </summary> public void generarMapa() { if (mapaActualPartida != null) { tilemapSuelo = terrenoTraspasable.GetComponent <Tilemap>(); tilemapMuro = terrenoNoTraspasable.GetComponent <Tilemap>(); generarLimitesMapa(); List <ObjetoMapa> objetos = CrearArchivo.cargarObjetosMapa(mapaActualPartida); Mapa map = new Mapa(objetos); foreach (TileMapa terreno in map.TerrenoTraspasable) { if (terreno.Traspasable) { tilemapSuelo.SetTile(new Vector3Int(terreno.X, terreno.Y, 0), Tiles.obtenerTile(terreno.Tile)); } else { tilemapMuro.SetTile(new Vector3Int(terreno.X, terreno.Y, 0), Tiles.obtenerTile((eTiles)terreno.Tile)); } } foreach (JugadorMapa jugador in map.Jugador) { Vector3 vec = tilemapMuro.CellToWorld(new Vector3Int(jugador.X, jugador.Y, jugador.Z)); vec = new Vector3(vec.x + 0.08f, vec.y + 0.16f, vec.z); Instantiate(Resources.Load <GameObject>("Jugador"), vec, Quaternion.identity).name = "Jugador"; jugable = true; break; } foreach (ObjetoMapa arbusto in map.Arbusto) { Vector3 vec = tilemapMuro.CellToWorld(new Vector3Int(arbusto.X, arbusto.Y, arbusto.Z)); vec = new Vector3(vec.x + 0.08f, vec.y + 0.08f, vec.z); Instantiate(Resources.Load <GameObject>("Arbusto"), vec, Quaternion.identity); } if (jugable) { foreach (EnemigoMapa enemigos in map.Enemigo) { Vector3 vec = tilemapMuro.CellToWorld(new Vector3Int(enemigos.X, enemigos.Y, enemigos.Z)); vec = new Vector3(vec.x + 0.08f, vec.y + 0.16f, vec.z); if (Enemigos.obtenerEnemigo(enemigos.TipoEnemigo) != null) { GameObject enemi = Instantiate(Enemigos.obtenerEnemigo((eEnemigo)enemigos.TipoEnemigo), vec, Quaternion.identity); enemi.transform.parent = ObjetosEnemigos.transform; } } } foreach (ObstaculosMapa obstaculo in map.Obstaculos) { Vector3 vec = tilemapMuro.CellToWorld(new Vector3Int(obstaculo.X, obstaculo.Y, obstaculo.Z)); vec = new Vector3(vec.x + 0.16f, vec.y + 0.16f, vec.z); if (Obstaculos.obtenerObstaculo(obstaculo.TipoObstaculo) != null) { Instantiate(Obstaculos.obtenerObstaculo(obstaculo.TipoObstaculo), vec, Quaternion.identity); } } Debug.Log("childCount: " + ObjetosEnemigos.transform.childCount); if (ObjetosEnemigos.transform.childCount == 0) { jugable = false; } } else { jugable = false; } }
static void Main(string[] args) { try { CrearArchivo opCrear = new CrearArchivo(); GestorDocumentalModel op = new GestorDocumentalModel(); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Seleccione: \n 1. Archivo Listas.js \n 2. Archivo ListasCiudades.js \n 3. Archivo ListasPadres.js"); int seleccion = Convert.ToInt32(Console.ReadLine()); switch (seleccion) { case 1: List <int> lista = opCrear.consultarTablas(); FileStream stream = new FileStream(@args[0] + "Listas.js", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter writer = new StreamWriter(stream); //**************************************************** writer.WriteLine("function obtenerListas(idCampo) {"); writer.WriteLine(" switch (idCampo) {"); foreach (int datos in lista) { string descripciones = opCrear.consultarDescripcionesCampo(datos); writer.WriteLine(); writer.WriteLine(" case \"" + datos + "\": "); writer.WriteLine(" var dato" + datos + " = \"" + descripciones + "\"" + ";"); writer.WriteLine(" return dato" + datos + ";"); writer.WriteLine(" break;"); } writer.WriteLine(" }"); writer.WriteLine("}"); //**************************************************** writer.WriteLine("function obtenerListasIndice(idCampo) {"); writer.WriteLine(" switch (idCampo) {"); foreach (int datos in lista) { string descripciones = opCrear.consultarIndicesCampos(datos); writer.WriteLine(); writer.WriteLine(" case \"" + datos + "\": "); writer.WriteLine(" var dato" + datos + " = \"" + descripciones + "\"" + ";"); writer.WriteLine(" return dato" + datos + ";"); writer.WriteLine(" break;"); } writer.WriteLine(" }"); writer.WriteLine("}"); writer.Close(); break; case 2: List <int> listaCiudades = opCrear.consultarIdDeptos(); FileStream streamCiudaes = new FileStream(@args[0] + "ListasCiudades.js", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter writerCiudades = new StreamWriter(streamCiudaes); //***************************************************** writerCiudades.WriteLine("function obtenerListasCiudades(idCampo) {"); writerCiudades.WriteLine(" switch (idCampo) {"); foreach (int datos in listaCiudades) { string descripciones = opCrear.consultarDescripcionesCiudades(datos); writerCiudades.WriteLine(); writerCiudades.WriteLine(" case \"" + datos + "\": "); writerCiudades.WriteLine(" var dato" + datos + " = \"" + descripciones + "\"" + ";"); writerCiudades.WriteLine(" return dato" + datos + ";"); writerCiudades.WriteLine(" break;"); } writerCiudades.WriteLine(" }"); writerCiudades.WriteLine("}"); //**************************************************** writerCiudades.WriteLine("function obtenerListasIndiceCiudades(idCampo) {"); writerCiudades.WriteLine(" switch (idCampo) {"); foreach (int datos in listaCiudades) { string descripciones = opCrear.consultarIndicesCiudades(datos); writerCiudades.WriteLine(); writerCiudades.WriteLine(" case \"" + datos + "\": "); writerCiudades.WriteLine(" var dato" + datos + " = \"" + descripciones + "\"" + ";"); writerCiudades.WriteLine(" return dato" + datos + ";"); writerCiudades.WriteLine(" break;"); } writerCiudades.WriteLine(" }"); writerCiudades.WriteLine("}"); writerCiudades.Close(); break; case 3: List <string> listaCodPadres = opCrear.consultar_IDCODPadres(); FileStream streamCodPadres = new FileStream(@args[0] + "ListasPadre.js", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter writerCodPadres = new StreamWriter(streamCodPadres); //***************************************************** writerCodPadres.WriteLine("function obtenerListasPadre(idCampo) {"); writerCodPadres.WriteLine(" switch (idCampo) {"); foreach (string datos in listaCodPadres) { string descripciones = opCrear.consultarDescripcionesValores(datos); writerCodPadres.WriteLine(); writerCodPadres.WriteLine(" case \"" + datos + "\": "); writerCodPadres.WriteLine(" var dato" + datos + " = \"" + descripciones + "\"" + ";"); writerCodPadres.WriteLine(" return dato" + datos + ";"); writerCodPadres.WriteLine(" break;"); } writerCodPadres.WriteLine(" }"); writerCodPadres.WriteLine("}"); //**************************************************** writerCodPadres.WriteLine("function obtenerListasIndicePadre(idCampo) {"); writerCodPadres.WriteLine(" switch (idCampo) {"); foreach (string datos in listaCodPadres) { string descripciones = opCrear.consultar_IDValores(datos); writerCodPadres.WriteLine(); writerCodPadres.WriteLine(" case \"" + datos + "\": "); writerCodPadres.WriteLine(" var dato" + datos + " = \"" + descripciones + "\"" + ";"); writerCodPadres.WriteLine(" return dato" + datos + ";"); writerCodPadres.WriteLine(" break;"); } writerCodPadres.WriteLine(" }"); writerCodPadres.WriteLine("}"); writerCodPadres.Close(); break; } Console.ForegroundColor = ConsoleColor.Gray; } catch (Exception ex) { Console.Write(ex); } }