public ActionResult RegistroFormulario(Guid?id) { //buscar el tipo de pieza if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TipoPieza tipoPieza = db.TipoPiezas.Find(id); if (tipoPieza == null) { return(HttpNotFound()); } var lista = tipoPieza.Atributos.Where(a => a.Status && a.MostrarAtributos.Any(b => b.TipoMostrar.Nombre == "Registro" && b.Status) && a.TipoAtributo.Status).OrderBy(a => a.Orden); var Nombre = ""; if (tipoPieza.EsPrincipal) { Nombre = tipoPieza.TipoObra.Nombre; } else { Nombre = tipoPieza.Nombre; } ViewBag.Nombre = Nombre; //listar todos sus campos return(PartialView("_Registro_form", lista)); }
public void changePieceTo(TipoPieza tipoPieza, bool undo) { i_peon.SetActive(false); i_caballo.SetActive(false); i_torre.SetActive(false); switch (tipoPieza) { case TipoPieza.PEON: i_peon.SetActive(true); break; case TipoPieza.CABALLO: i_caballo.SetActive(true); break; case TipoPieza.TORRE: i_torre.SetActive(true); break; } if (!undo) { m_gameController.cambiaPieza(tipoPieza, false); } UpdateChangePieceButtonsEnabled(); }
private Pieza CrearPieza(TipoPieza tipo, ColorFicha color) { var newPiece = PieceFactory.MakePiece(tipo, color, _piezaContador++); _piezas.Add(newPiece); return(newPiece); }
public Pieza(TipoPieza tipoPieza, string color, Posicion posicionInicial) { this.tipoPieza = tipoPieza; this.posicion = posicionInicial; this.color = color; this.piezaVista = new PiezaVista(this); this.estaEnPosicionInicial = true; }
public static Pieza MakePiece(TipoPieza tipo, ColorFicha color, int idPieza) { switch (tipo) { case TipoPieza.Peon: return(new Peon { Color = color, Id = idPieza, Tipo = (int)tipo }); case TipoPieza.Torre: return(new Torre { Color = color, Id = idPieza, Tipo = (int)tipo }); case TipoPieza.Caballero: return(new Caballero { Color = color, Id = idPieza, Tipo = (int)tipo }); case TipoPieza.Alfil: return(new Alfil { Color = color, Id = idPieza, Tipo = (int)tipo }); case TipoPieza.Reina: return(new Reina { Color = color, Id = idPieza, Tipo = (int)tipo }); case TipoPieza.Rey: return(new Rey { Color = color, Id = idPieza, Tipo = (int)tipo }); default: throw new ArgumentOutOfRangeException(); } }
public Turno(Node p, TipoPieza tp, GameObject et, int vh, int vc, bool cambioP, bool goalO) { previousNode = p; previousPieza = tp; enemieEat = et; vallaHorseID = vh; vallaCastleID = vc; cambioPieza = cambioP; goalO = goalOpened; }
public ActionResult Crear(Guid?id, bool principal = false) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TipoPieza tp = new TipoPieza(); if (principal) { //id = TipoObraID TipoObra tipoObra = db.TipoObras.Find(id); if (tipoObra == null) { return(HttpNotFound()); } tp.Prefijo = "A"; tp.TipoObraID = tipoObra.TipoObraID; tp.Orden = tipoObra.TipoPiezas.Where(a => a.EsPrincipal).Count() + 1; tp.Status = true; tp.EsPrincipal = true; } else { //id = TipoPiezaPadreID TipoPieza tipoPiezaPadre = db.TipoPiezas.Find(id); if (tipoPiezaPadre == null) { return(HttpNotFound()); } tp.Orden = tipoPiezaPadre.TipoPiezasHijas.Count; if (tp.Orden > 0) { string ultimaLetra = tipoPiezaPadre.TipoPiezasHijas.Select(a => a.Prefijo).OrderByDescending(a => a).FirstOrDefault(); tp.Prefijo = IncrementarLetra(ultimaLetra); tp.Orden++; } else { tp.Orden = 1; tp.Prefijo = "A"; } tp.TipoObraID = tipoPiezaPadre.TipoObraID; tp.TipoPiezaPadreID = tipoPiezaPadre.TipoPiezaID; tp.Status = true; tp.EsPrincipal = false; } return(PartialView("_Crear", tp)); }
// Método invocado por el jugador para realizar el cambio de pieza, public void cambiaPieza(TipoPieza tipoPieza, bool undo) { //si es el turno del jugador if (player.turno) { m_soundManager.Play_SoundEffect("fichas3"); player.tipoPieza = tipoPieza; //activamos el tipo de ficha que se pase por argumento player.transform.GetChild(0).gameObject.SetActive(false); player.transform.GetChild(1).gameObject.SetActive(false); player.transform.GetChild(2).gameObject.SetActive(false); switch (player.tipoPieza) { case TipoPieza.PEON: player.transform.GetChild(0).gameObject.SetActive(true); break; case TipoPieza.CABALLO: player.transform.GetChild(1).gameObject.SetActive(true); break; case TipoPieza.TORRE: player.transform.GetChild(2).gameObject.SetActive(true); break; default: break; } //Limpiamos las adyacencias if (player.node != null) { player.node.UndrawAdjacencies(); } if (!undo) {//Si no estamos cambiando por deshacer, incrementamos el número de turnos y actualizamos el turno actual player.numMovs++; Turno turnoActual = new Turno(player.node, player.tipoPieza, null, movHorseButton, movCastleButton, false, false); if (turnoPrevious.previousNode != null) { turnoPrevious.vallaHorseID = movHorseButton; turnoPrevious.vallaCastleID = movCastleButton; turnoPrevious.cambioPieza = true; player.previousTurnos.Push(turnoPrevious); turnoPrevious = turnoActual; } } else//Si es por deshacer, sólo actualizamos el UI { gameUIManager.changePieceTo(player.tipoPieza, undo); } //Finalmente cedemos el turno a los enemigos EnemigosTurno(undo); } }
public Torre(int id, TipoPieza tipo, string color, int posY, int posX) : base(id, tipo, color, posY, posX) { this.Id = id; this.TipoPieza = tipo; this.Color = color; List <Posicion> Posiciones = new List <Posicion>(); Posiciones.Add(new Posicion(posY, posX, DateTime.Now)); this.Movimientos = Posiciones; }
public ActionResult Detalles(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TipoPieza tipoPieza = db.TipoPiezas.Find(id); if (tipoPieza == null) { return(HttpNotFound()); } return(View(tipoPieza)); }
public static Pieza MakePiece(TipoPieza tipo, ColorFicha color, int idPieza) { switch (tipo) { case TipoPieza.Peon: return new Peon { Color = color, Id = idPieza, Tipo = (int)tipo }; case TipoPieza.Torre: return new Torre { Color = color, Id = idPieza, Tipo = (int) tipo }; case TipoPieza.Caballero: return new Caballero { Color = color, Id = idPieza, Tipo = (int)tipo }; case TipoPieza.Alfil: return new Alfil { Color = color, Id = idPieza, Tipo = (int)tipo }; case TipoPieza.Reina: return new Reina { Color = color, Id = idPieza, Tipo = (int)tipo }; case TipoPieza.Rey: return new Rey { Color = color, Id = idPieza, Tipo = (int)tipo }; default: throw new ArgumentOutOfRangeException(); } }
public ActionResult Eliminar(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TipoPieza tipoPieza = db.TipoPiezas.Find(id); if (tipoPieza == null) { return(HttpNotFound()); } return(PartialView("_Eliminar", tipoPieza)); }
public ActionResult EliminarConfirmado(Guid id) { string btnValue = Request.Form["accionx"]; TipoPieza tipoPieza = db.TipoPiezas.Find(id); var toID = tipoPieza.TipoObraID; var tppID = tipoPieza.TipoPiezaPadreID; switch (btnValue) { case "deshabilitar": tipoPieza.Status = false; db.Entry(tipoPieza).State = EntityState.Modified; db.SaveChanges(); AlertaDefault(string.Format("Se deshabilito <b>{0}</b>", tipoPieza.Nombre), true); break; case "eliminar": db.TipoPiezas.Remove(tipoPieza); db.SaveChanges(); AlertaDanger(string.Format("Se elimino <b>{0}</b>", tipoPieza.Nombre), true); break; default: AlertaDanger(string.Format("Ocurrio un error."), true); break; } string url = ""; if (tppID == null) { url = Url.Action("Lista", "TipoPieza", new { id = toID, esRoot = true }); } else { url = Url.Action("Lista", "TipoPieza", new { id = tppID }); } return(Json(new { success = true, url = url })); }
public ActionResult Crear([Bind(Include = "TipoPiezaID,Nombre,Descripcion,Prefijo,Orden,EsPrincipal,Status,TipoObraID,TipoPiezaPadreID,Temp")] TipoPieza tipoPieza) { var tp = db.TipoPiezas.Select(a => new { a.TipoObraID, a.TipoPiezaPadreID, a.TipoPiezaID, a.Nombre }).FirstOrDefault(a => a.Nombre == tipoPieza.Nombre && a.TipoObraID == tipoPieza.TipoObraID && a.TipoPiezaPadreID == tipoPieza.TipoPiezaPadreID); if (tp != null) { if (tp.TipoPiezaID != tipoPieza.TipoPiezaID) { ModelState.AddModelError("Nombre", "Nombre ya existe."); } } if (ModelState.IsValid) { tipoPieza.TipoPiezaID = Guid.NewGuid(); db.TipoPiezas.Add(tipoPieza); db.SaveChanges(); AlertaSuccess(string.Format("Tipo de Pieza: <b>{0}</b> creada.", tipoPieza.Nombre), true); //principal true enviar tipoobraid string url = ""; if (tipoPieza.TipoPiezaPadreID == null) { url = Url.Action("Lista", "TipoPieza", new { id = tipoPieza.TipoObraID, esRoot = true }); } else { url = Url.Action("Lista", "TipoPieza", new { id = tipoPieza.TipoPiezaPadreID }); } return(Json(new { success = true, url = url })); } return(PartialView("_Crear", tipoPieza)); }
// GET: TipoPieza/Crear public ActionResult Crear(Guid?id, bool principal = false) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TipoPieza tp = new TipoPieza(); if (principal) { //id = TipoObraID TipoObra tipoObra = db.TipoObras.Find(id); if (tipoObra == null) { return(HttpNotFound()); } tp.TipoObraID = tipoObra.TipoObraID; tp.Orden = tipoObra.TipoPiezas.Where(a => a.EsPrincipal).Count() + 1; tp.Status = true; tp.EsPrincipal = true; } else { //id = TipoPiezaPadreID TipoPieza tipoPiezaPadre = db.TipoPiezas.Find(id); if (tipoPiezaPadre == null) { return(HttpNotFound()); } tp.TipoObraID = tipoPiezaPadre.TipoObraID; tp.Orden = tipoPiezaPadre.TipoPiezasHijas.Count + 1; tp.TipoPiezaPadreID = tipoPiezaPadre.TipoPiezaID; tp.Status = true; tp.EsPrincipal = false; } return(PartialView("_Crear", tp)); }
public ActionResult Lista(Guid?id, bool esRoot = false) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //id = TipoPiezaID IEnumerable <TipoPieza> lista = null; if (esRoot) { TipoObra tipoObra = db.TipoObras.Find(id); if (tipoObra == null) { return(HttpNotFound()); } lista = tipoObra.TipoPiezas.Where(a => a.EsPrincipal).OrderBy(a => a.Orden); } else { TipoPieza tipoPiezaPadre = db.TipoPiezas.Find(id); if (tipoPiezaPadre == null) { return(HttpNotFound()); } lista = tipoPiezaPadre.TipoPiezasHijas.OrderBy(a => a.Orden); ViewBag.nombre = tipoPiezaPadre.Nombre; } ViewBag.totalRegistros = lista.Count(); ViewBag.id = id; ViewBag.root = esRoot; return(PartialView("_Lista", lista.ToList())); }
public ActionResult Crear([Bind(Include = "TipoObraID,Nombre,Descripcion,Status,Temp")] TipoObra tipoObra) { //revalidar el nombre if (db.TipoObras.FirstOrDefault(a => a.Nombre == tipoObra.Nombre) != null) { ModelState.AddModelError("Nombre", "Nombre ya existe."); } if (ModelState.IsValid) { tipoObra.TipoObraID = Guid.NewGuid(); db.TipoObras.Add(tipoObra); db.SaveChanges(); AlertaSuccess(string.Format("Tipo de Obra: <b>{0}</b> creada.", tipoObra.Nombre), true); //Crear la pieza Maestra TipoPieza tipoPieza = new TipoPieza() { TipoPiezaID = Guid.NewGuid(), TipoObraID = tipoObra.TipoObraID, Nombre = "Principal", Prefijo = "A", Orden = 1, Descripcion = "Pieza principal de la Obra", EsPrincipal = true, Status = true }; db.TipoPiezas.Add(tipoPieza); db.SaveChanges(); AlertaSuccess(string.Format("Tipo de Pieza : <b>{0}</b> creada.", tipoPieza.Nombre), true); string url = Url.Action("Lista", "TipoObra"); return(Json(new { success = true, url = url })); } return(PartialView("_Crear", tipoObra)); }
public ActionResult ListaSelect(Guid?id, bool esRoot = false) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //id = TipoPiezaID IEnumerable <TipoPieza> lista = null; if (esRoot) { TipoObra tipoObra = db.TipoObras.Find(id); if (tipoObra == null) { return(HttpNotFound()); } lista = tipoObra.TipoPiezas.Where(a => a.EsPrincipal && a.Status && a.TipoPiezaPadreID == null).OrderBy(a => a.Nombre); } else { TipoPieza tipoPiezaPadre = db.TipoPiezas.Find(id); if (tipoPiezaPadre == null) { return(HttpNotFound()); } lista = tipoPiezaPadre.TipoPiezasHijas.Where(a => a.Status).OrderBy(a => a.Nombre); } ViewBag.totalRegistros = lista.Count(); ViewBag.TipoPiezaID = new SelectList(lista.Select(a => new { a.TipoPiezaID, Nombre = a.Nombre + " - " + a.Descripcion }).ToList(), "TipoPiezaID", "Nombre"); return(PartialView("_Registro_inputSelect")); }
public ActionResult Editar([Bind(Include = "TipoPiezaID,Nombre,Descripcion,Prefijo,Orden,EsPrincipal,Status,TipoObraID,TipoPiezaPadreID,Temp")] TipoPieza tipoPieza) { var tp = db.TipoPiezas.Select(a => new { a.TipoObraID, a.TipoPiezaPadreID, a.TipoPiezaID, a.Nombre }).FirstOrDefault(a => a.Nombre == tipoPieza.Nombre && a.TipoObraID == tipoPieza.TipoObraID && a.TipoPiezaPadreID == tipoPieza.TipoPiezaPadreID); if (tp != null) { if (tp.TipoPiezaID != tipoPieza.TipoPiezaID) { ModelState.AddModelError("Nombre", "Nombre ya existe."); } } if (ModelState.IsValid) { db.Entry(tipoPieza).State = EntityState.Modified; db.SaveChanges(); AlertaInfo(string.Format("Tipo de Pieza: <b>{0}</b> se editó.", tipoPieza.Nombre), true); string url = ""; if (tipoPieza.TipoPiezaPadreID == null) { url = Url.Action("Lista", "TipoPieza", new { id = tipoPieza.TipoObraID, esRoot = true }); } else { url = Url.Action("Lista", "TipoPieza", new { id = tipoPieza.TipoPiezaPadreID }); } return(Json(new { success = true, url = url })); } return(PartialView("_Editar", tipoPieza)); }
public ActionResult Crear(Guid?id, Guid?TipoPiezaID) { if (id == null || TipoPiezaID == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Pieza p = db.Piezas.Find(id); TipoPieza tp = db.TipoPiezas.Find(TipoPiezaID); if (p == null || tp == null) { return(HttpNotFound()); } //Calcular el numero del folio int numero = p.PiezasHijas.Where(a => a.TipoPiezaID == tp.TipoPiezaID).Count() + 1; string numeroTexto = numero > 1 ? numero.ToString() : ""; Pieza pieza = new Pieza() { FechaRegistro = DateTime.Now, ObraID = p.ObraID, Obra = p.Obra, PiezaPadre = p, PiezaPadreID = p.PiezaID, Status = true, TipoPiezaID = tp.TipoPiezaID, TipoPieza = tp, SubFolio = tp.Prefijo + numeroTexto }; return(PartialView("_Crear", pieza)); }
private Pieza CrearPieza(TipoPieza tipo,ColorFicha color) { var newPiece = PieceFactory.MakePiece(tipo, color, _piezaContador++); _piezas.Add(newPiece); return newPiece; }
public Pieza(TipoPieza tipo, ColorPieza color) { Tipo = tipo; Color = color; }
public ActionResult IniciarMigracion() { int NumFol = 0; //ultima registrada RecordFCSContext dbx = new RecordFCSContext(); int bloqueGuardar = 500; Guid TipoObraID = new Guid("375ead18-18db-4a8e-bfbf-7d55ee08ff80"); TipoObra tipoObra = dbx.TipoObras.Find(TipoObraID); Guid TipoPiezaID = new Guid("c84ed502-20d8-4691-9a17-2d739c2bf4da"); TipoPieza tipoPieza = tipoObra.TipoPiezas.FirstOrDefault(a => a.TipoPiezaID == TipoPiezaID); LetraFolio letra = dbx.LetraFolios.SingleOrDefault(a => a.Nombre == "A"); if (tipoObra != null && tipoPieza != null && letra != null) { //Extraer los atributos requeridos. var listaAttRegistro = tipoPieza.Atributos.Where(a => a.Status && a.MostrarAtributos.Any(b => b.TipoMostrar.Nombre == "Registro" && b.Status) && a.TipoAtributo.Status).OrderBy(a => a.Orden).ToList(); //extraer con1.Open(); string textSql1 = string.Format("SELECT * FROM [{0}]", "ArchivoFondo"); SqlCommand sql1 = new SqlCommand(textSql1, con1); SqlDataReader leer1 = sql1.ExecuteReader(); List <RowArchivo> listaArchivoCEHM = new List <RowArchivo>(); int i = NumFol; while (leer1.Read()) { i++; var rowArchivo = new RowArchivo() { ArchivoID = Convert.ToInt32(i), Asunto1 = Regex.Replace(leer1["Asunto1"].ToString().Trim(), @"\s+", " "), Asunto2 = Regex.Replace(leer1["Asunto2"].ToString().Trim(), @"\s+", " "), Caja = Regex.Replace(leer1["Caja"].ToString().Trim(), @"\s+", " "), Carpeta = Regex.Replace(leer1["Carpeta"].ToString().Trim(), @"\s+", " "), Clasificacion = Regex.Replace(leer1["Clasificacion"].ToString().Trim(), @"\s+", " "), Documento = Regex.Replace(leer1["Documento"].ToString().Trim(), @"\s+", " "), FICHA_NO = Convert.ToInt32(leer1["FICHA_NO"]), Firmadopor = Regex.Replace(leer1["Firmadopor"].ToString().Trim(), @"\s+", " "), Fojas = Regex.Replace(leer1["Fojas"].ToString().Trim(), @"\s+", " "), Fondo = Regex.Replace(leer1["Fondo"].ToString().Trim(), @"\s+", " "), Legajo = Regex.Replace(leer1["Legajo"].ToString().Trim(), @"\s+", " "), LugaryFecha = Regex.Replace(leer1["LugaryFecha"].ToString().Trim(), @"\s+", " "), NoImag = Convert.ToInt32(leer1["NoImag"].ToString() == "" ? 0 : leer1["NoImag"]), Nombredelfondo = Regex.Replace(leer1["Nombredelfondo"].ToString().Trim(), @"\s+", " "), Tipodedocumento = Regex.Replace(leer1["Tipodedocumento"].ToString().Trim(), @"\s+", " "), URLFicha = Regex.Replace(leer1["URLFicha"].ToString().Trim(), @"\s+", " "), URLImagen = Regex.Replace(leer1["URLImagen"].ToString().Trim(), @"\s+", " "), Tema = Regex.Replace(leer1["Tema"].ToString().Trim(), @"\s+", " "), Dirigidoa = Regex.Replace(leer1["Dirigidoa"].ToString().Trim(), @"\s+", " ") }; if (rowArchivo.ArchivoID > 0) { listaArchivoCEHM.Add(rowArchivo); } } con1.Close(); leer1 = null; int numeroRow = 0; List <AtributoPieza> listaAdd_AttGen = new List <AtributoPieza>(); List <AutorPieza> listaAdd_AttAutor = new List <AutorPieza>(); foreach (var row in listaArchivoCEHM) { if (numeroRow == bloqueGuardar) { //guardar los atributos dbx.AtributoPiezas.AddRange(listaAdd_AttGen); dbx.AutorPiezas.AddRange(listaAdd_AttAutor); dbx.SaveChanges(); dbx.Dispose(); dbx = new RecordFCSContext(); dbx.Configuration.AutoDetectChangesEnabled = false; numeroRow = 0; listaAdd_AttAutor = new List <AutorPieza>(); listaAdd_AttGen = new List <AtributoPieza>(); } //tratar los att de la pieza var obra = new Obra() { ObraID = Guid.NewGuid(), FechaRegistro = DateTime.Now, TipoObraID = tipoObra.TipoObraID, LetraFolioID = letra.LetraFolioID, Status = false, NumeroFolio = row.ArchivoID }; dbx.Obras.Add(obra); //Crear pieza Pieza pieza = new Pieza() { PiezaID = Guid.NewGuid(), FechaRegistro = obra.FechaRegistro, ObraID = obra.ObraID, Status = false, PiezaPadreID = null, // null = Principal o Maestra TipoPiezaID = tipoPieza.TipoPiezaID, SubFolio = tipoPieza.Prefijo }; dbx.Piezas.Add(pieza); foreach (var att in listaAttRegistro) { var tipoAtt = att.TipoAtributo; if (tipoAtt.EsGenerico) { if (tipoAtt.EsLista) { /* * GENERICO LISTA * Fondo - Fondo_CEHM - Fondo * Colección - Coleccion_Clave - Nombredelfondo * Legajo - Legajo_CEHM - Legajo * Fecha de ejecución - FechaEjecucion_Clave - Fecha de ejecucion */ var addOK = true; string valorText = ""; switch (tipoAtt.Temp) { case "Fondo_CEHM": addOK = row.Fondo == null || row.Fondo == "" ? false : true; valorText = addOK ? row.Fondo : ""; break; case "Coleccion_Clave": addOK = row.Nombredelfondo == null || row.Nombredelfondo == "" ? false : true; valorText = addOK ? row.Nombredelfondo : ""; break; case "Legajo_CEHM": addOK = row.Legajo == null || row.Legajo == "" ? false : true; valorText = addOK ? row.Legajo : ""; break; case "FechaEjecucion_Clave": addOK = row.LugaryFecha == null || row.LugaryFecha == "" ? false : true; valorText = addOK ? row.LugaryFecha : ""; break; default: addOK = false; break; } if (addOK) { var listaValor = dbx.ListaValores.SingleOrDefault(a => a.TipoAtributoID == tipoAtt.TipoAtributoID && a.Valor == valorText); if (listaValor == null) { listaValor = new ListaValor() { ListaValorID = Guid.NewGuid(), Status = true, TipoAtributoID = tipoAtt.TipoAtributoID, Valor = valorText }; dbx.ListaValores.Add(listaValor); dbx.SaveChanges(); } listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, ListaValorID = listaValor.ListaValorID }); } } else { if (tipoAtt.EsMultipleValor) { /* * GENERICO TEXTO MULTIPLE * Descripción - descripcion * * * Se forma con : Asunto1, Asunto2, Tema * */ var addOK = true; string valorText = ""; switch (tipoAtt.Temp) { case "descripcion": // Tema addOK = true; valorText = ""; addOK = row.Tema == null || row.Tema == "" ? false : true; valorText = addOK ? row.Tema : ""; if (addOK) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, Valor = valorText }); } // Asunto1 addOK = true; valorText = ""; addOK = row.Asunto1 == null || row.Asunto1 == "" ? false : true; valorText = addOK ? row.Asunto1 : ""; if (addOK) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, Valor = valorText }); } // Asunto2 addOK = true; valorText = ""; addOK = row.Asunto2 == null || row.Asunto2 == "" ? false : true; valorText = addOK ? row.Asunto2 : ""; if (addOK) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, Valor = valorText }); } break; default: addOK = false; break; } } else { /* * GENERICOS TEXTO * No ficha CEHM - NoFicha_CEHM * Clasificacion CEHM - Clasificacion_CEHM * No de caja o carpeta - NoCajaOCarpeta_Cehm * No de documento o fojas - NoDocFojas_CEHM * Título descriptivo - titulo * Enlace ficha - UrlFicha_CEHM * No de imagenes - NoImagen_CEHM * Enlace Imagenes - URLImagen_CEHM */ var addOK = true; string valorText = ""; switch (tipoAtt.Temp) { case "NoFicha_CEHM": addOK = row.FICHA_NO == 0 ? false : true; valorText = addOK ? row.FICHA_NO.ToString() : "0"; break; case "Clasificacion_CEHM": addOK = row.Clasificacion == null || row.Clasificacion == "" ? false : true; valorText = addOK ? row.Clasificacion : ""; break; case "NoCajaOCarpeta_Cehm": // se forma con: caja y carpeta // queda: Caja: 1 / Carpeta: 1 // queda: Caja: 1 // queda: Carpeta : 1 var cajaOk = false; addOK = row.Caja == null || row.Caja == "" ? false : true; valorText += addOK? "" + row.Caja : ""; cajaOk = addOK; addOK = row.Carpeta == null || row.Carpeta == "" ? false : true; valorText += cajaOk && addOK? " / " : ""; valorText += addOK ? "" + row.Carpeta : ""; addOK = addOK || cajaOk ? true : false; break; case "NoDocFojas_CEHM": // se forma con Fojas, Documento var fojaOk = false; addOK = row.Fojas == null || row.Fojas == "" ? false : true; valorText += addOK? "" + row.Fojas : ""; fojaOk = addOK; addOK = row.Documento == null || row.Documento == "" ? false : true; valorText += fojaOk && addOK? " / " : ""; valorText += addOK ? "" + row.Documento : ""; addOK = addOK || fojaOk ? true : false; break; case "titulo": // Tipodedocumento, Dirigidoa var tipoDocOk = false; addOK = row.Tipodedocumento == null || row.Tipodedocumento == "" ? false : true; valorText += addOK? row.Tipodedocumento : ""; tipoDocOk = addOK; addOK = row.Dirigidoa == null || row.Dirigidoa == "" ? false : true; valorText += tipoDocOk && addOK ? " / " : ""; valorText += addOK ? row.Dirigidoa : ""; addOK = addOK || tipoDocOk ? true : false; break; case "UrlFicha_CEHM": addOK = row.URLFicha == null || row.URLFicha == "" ? false : true; valorText = addOK ? row.URLFicha : ""; break; case "NoImagen_CEHM": addOK = row.NoImag == 0 ? false : true; valorText = addOK ? row.NoImag.ToString() : "0"; addOK = true; break; case "URLImagen_CEHM": addOK = row.URLImagen == null || row.URLImagen == "" ? false : true; valorText = addOK ? row.URLImagen : ""; break; default: addOK = false; break; } if (addOK) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, Valor = valorText }); } } } } else { /* * AUTOR LISTA MULTIPLE * Firmado por */ var addOK = true; string valorText = ""; addOK = row.Firmadopor == null || row.Firmadopor == "" ? false : true; valorText = addOK ? row.Firmadopor : ""; if (addOK) { var autor = dbx.Autores.SingleOrDefault(a => a.Nombre == valorText); if (autor == null) { autor = new Autor() { AutorID = Guid.NewGuid(), Status = true, Nombre = valorText }; dbx.Autores.Add(autor); dbx.SaveChanges(); } listaAdd_AttAutor.Add(new AutorPieza() { AutorID = autor.AutorID, esPrincipal = true, PiezaID = pieza.PiezaID, Status = true, Prefijo = "Principal" }); } } } numeroRow++; } //guardar los atributos dbx.AtributoPiezas.AddRange(listaAdd_AttGen); dbx.AutorPiezas.AddRange(listaAdd_AttAutor); dbx.SaveChanges(); dbx.Dispose(); dbx = new RecordFCSContext(); dbx.Configuration.AutoDetectChangesEnabled = false; } return(View()); }
//Error creo q se debe crear una funcion para cada uno de las ascenciones public void AscenderPeon(Peon PeonJuego, TipoPieza PiezaAConvertir) { PeonJuego = (PiezaAConvertir)PeonJuego; }
public void MoveTo(bool undo) { //Marcamos que empezamos el turno, por lo que el jugador no se puede mover turno = true; if (!undo)//Si no nos movemos por deshacer del jugador { //Incrementamos el id, pintamos las adyacencias y desplazamos los nodos anteriores a la derecha ID++; node.DrawAdjacencies(tipoPieza, apertura, colorSeleccionable); //Poner a null la pieza del nodo shiftPreviousNodes(false); //Limpiamos la pieza del nodo que abandonamos node.pieza = null; //Si alguna valla está subida y me afecta, actualizo mi nodo de movimiento y deshabilito el movimiento if (gameController.vallaSubidaHorse && meAfectaVallaHorse) { if (move) { node = nodesVallas[ID % nodesVallas.Count]; move = false; } } else if (gameController.vallaSubidaCastle && meAfectaVallaCastle) { if (move) { move = false; } } else//si no, lo habilito y actualizo el nodo con los normales de movimiento { if (nodesMovimiento.Count > 0) { node = nodesMovimiento[ID % nodesMovimiento.Count]; move = true; } } //Para cada nodo de los seleccionables del nodo anterior foreach (Node n in previousNodes[0].seleccionables) { //Si hay una pieza que es el jugador if (n.pieza != null && n.pieza.tag == "Player") { TipoPieza tipoPieza = n.pieza.GetComponent <Player>().tipoPieza; //Y no está usando el peón, que pasa desapercibido if (tipoPieza != TipoPieza.PEON) { node = n; //Comprobamos que ese nodo esté entre los seleccionables if (!previousNodes[0].seleccionables.Contains(node)) { node = previousNodes[0]; } } } } //Si tengo nodos intermedios if (nodesPath.Count > 0) { //Para cada uno de ellos, si hay una pieza y es el jugador for (int i = 0; i < nodesIntermedios; i++) { if (nodesPath[(ID * nodesIntermedios + i) % nodesPath.Count].pieza != null && nodesPath[(ID * nodesIntermedios + i) % nodesPath.Count].pieza.tag == "Player") { //Si no estoy afectado por las vallas y/o no ewstán subidas if (!meAfectaVallaCastle || !meAfectaVallaHorse || (meAfectaVallaCastle && !gameController.vallaSubidaCastle) || (meAfectaVallaHorse && !gameController.vallaSubidaHorse)) { //Cojo como nodo en el que se encuentra el jugador, mientras esté entre los seleccionables del que abandono node = nodesPath[(ID * nodesIntermedios + i) % nodesPath.Count]; if (!previousNodes[0].seleccionables.Contains(node)) { node = previousNodes[0]; } } } } } else//Si no hay nodos intermedios como en el caso del alfil o el caballo { //Si no están subidas las vallas y no me afectan, habilito el movimiento if (!gameController.vallaSubidaCastle && meAfectaVallaCastle) { move = true; } else if (!gameController.vallaSubidaHorse && meAfectaVallaHorse) { move = true; } } //Y finalmente llamo a la corrutina de movimiento StartCoroutine(gameController.MoveOverSeconds(this.gameObject, node, 1, false, previousNodes[0], false)); } else//Si nos movemos por deshacer del jugador, limpiamos nuestro nodo, decrementamos el índice de movimiento, //hacemos la corrutina de movimiento, gaurdamos como nodo el primero del array y desplazamos el mismo hacia la izquierda { node.pieza = null; ID--; StartCoroutine(gameController.MoveOverSeconds(this.gameObject, previousNodes[0], 1, false, node, false)); node = previousNodes[0]; shiftPreviousNodes(true); } }
public ActionResult Crear([Bind(Include = "PiezaID,SubFolio,FechaRegistro,Status,ObraID,TipoPiezaID,UbicacionID,PiezaPadreID,Temp")] Pieza pieza) { var Formulario = Request.Form; Pieza piezaPadre = db.Piezas.Find(pieza.PiezaPadreID); TipoPieza tipoPieza = db.TipoPiezas.Find(pieza.TipoPiezaID); //Calcular el numero del folio pieza.PiezaID = Guid.NewGuid(); pieza.FechaRegistro = DateTime.Now; var listaAttRegistro = tipoPieza.Atributos.Where(a => a.Status && a.MostrarAtributos.Any(b => b.TipoMostrar.Nombre == "Registro" && b.Status) && a.TipoAtributo.Status).OrderBy(a => a.Orden).ToList(); List <AtributoPieza> listaAdd_AttGen = new List <AtributoPieza>(); List <AutorPieza> listaAdd_AttAutor = new List <AutorPieza>(); List <ImagenPieza> listaAdd_AttImg = new List <ImagenPieza>(); List <TecnicaPieza> listaAdd_AttTec = new List <TecnicaPieza>(); List <MedidaPieza> listaAdd_AttMed = new List <MedidaPieza>(); Ubicacion ubicacionAdd = null; List <string> listaKey; /* * Extraer los registros del formulario dependiendo el tipo de Atributo * * IMAGEN * SIMPLE * id_####################_File (File) * id_####################_Titulo (Input) * id_####################_Descripcion (Input) * * * * */ foreach (var att in listaAttRegistro) { var tipoAtt = att.TipoAtributo; if (tipoAtt.EsGenerico) { /* * GENERICO * LISTA * SIMPLE * id_#################### (Select) * MULTI * id_####################_#################### (Input) */ if (tipoAtt.EsLista) { if (tipoAtt.EsMultipleValor) { listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID + "_")).ToList(); } else { listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID)).ToList(); } //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string valor = Formulario[key]; addOk = String.IsNullOrWhiteSpace(valor) ? false : true; //validar el valorID, buscar el valor Guid valorID = addOk ? new Guid(valor) : new Guid(new Byte[16]); addOk = !addOk ? addOk : listaAdd_AttGen.Where(a => a.AtributoID == att.AtributoID && a.ListaValorID == valorID).FirstOrDefault() == null ? true : false; addOk = !addOk ? addOk : db.ListaValores.Where(a => a.TipoAtributoID == tipoAtt.TipoAtributoID && a.Status && a.ListaValorID == valorID).FirstOrDefault() == null ? false : true; if (addOk) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, ListaValorID = valorID }); } } } else { /* * GENERICO * CAMPO * SIMPLE * id_#################### (Input) * MULTI * id_####################_##### (Input) */ if (tipoAtt.EsMultipleValor) { listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID + "_")).ToList(); } else { listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID)).ToList(); } //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string valor = Formulario[key]; //validar el campo, quitar espacios en blanco, bla bla bla valor = valor.Trim(); // quitar espacios en inicio y fin valor = Regex.Replace(valor, @"\s+", " "); //quitar espacios de sobra addOk = String.IsNullOrWhiteSpace(valor) ? false : true; addOk = !addOk ? addOk : listaAdd_AttGen.Where(a => a.AtributoID == att.AtributoID && a.Valor == valor).FirstOrDefault() == null ? true : false; if (addOk) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, Valor = valor }); } } } } else { switch (tipoAtt.TablaSQL) { case "Autor": /* * AUTOR * MULTIPLE * id_####################_#################### (Input) * id_####################_####################_prefijo (Input) */ //filtrar id_####### listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID + "_")).ToList(); ///filtrar: ignorar los _prefijo listaKey = listaKey.Where(k => !k.EndsWith("_prefijo")).ToList(); //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string text_autorID = Formulario[key]; string text_prefijo = Formulario[key + "_prefijo"]; addOk = String.IsNullOrWhiteSpace(text_autorID) ? false : true; //validar el valorID, buscar el valor Guid autorID = addOk ? new Guid(text_autorID) : new Guid(new Byte[16]); addOk = !addOk ? addOk : listaAdd_AttAutor.Where(a => a.AutorID == autorID).FirstOrDefault() == null ? true : false; addOk = !addOk ? addOk : db.Autores.Where(a => a.Status && a.AutorID == autorID).FirstOrDefault() == null ? false : true; if (addOk) { var autorPieza = new AutorPieza() { AutorID = autorID, PiezaID = pieza.PiezaID, esPrincipal = false, Prefijo = text_prefijo, Status = true }; //validar si es principal if (autorPieza.Prefijo.ToLower() == "principal") { autorPieza.esPrincipal = listaAdd_AttAutor.Where(a => a.esPrincipal).Count() == 0 ? true : false; } listaAdd_AttAutor.Add(autorPieza); } } break; case "Ubicacion": /* * UBICACION * SIMPLE * id_#################### (select) */ listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID)).ToList(); //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string texto_ubicacionID = Formulario[key]; addOk = String.IsNullOrWhiteSpace(texto_ubicacionID) ? false : true; //validar el valorID, buscar el valor Guid ubicacionID = addOk ? new Guid(texto_ubicacionID) : new Guid(new Byte[16]); addOk = !addOk ? addOk : ubicacionAdd == null ? true : false; addOk = !addOk ? addOk : db.Ubicaciones.Where(a => a.Status && a.UbicacionID == ubicacionID).FirstOrDefault() == null ? false : true; if (addOk) { pieza.UbicacionID = ubicacionID; } } break; case "TipoTecnica": /* * TECNICA * SIMPLE * id_#################### (Select) */ listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID)).ToList(); //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string texto_TecnicaID = Formulario[key]; addOk = String.IsNullOrWhiteSpace(texto_TecnicaID) ? false : true; //validar el valorID, buscar el valor Guid tecnicaID = addOk ? new Guid(texto_TecnicaID) : new Guid(new Byte[16]); addOk = !addOk ? addOk : listaAdd_AttTec.Where(a => a.TecnicaID == tecnicaID).FirstOrDefault() == null ? true : false; addOk = !addOk ? addOk : db.Tecnicas.Where(a => a.TecnicaID == tecnicaID && a.Status).FirstOrDefault() == null ? false : true; if (addOk) { var tecnica = db.Tecnicas.Where(a => a.TecnicaID == tecnicaID && a.Status).FirstOrDefault(); listaAdd_AttTec.Add(new TecnicaPieza() { PiezaID = pieza.PiezaID, Status = true, TecnicaID = tecnica.TecnicaID, TipoTecnicaID = tecnica.TipoTecnicaID }); } } break; case "TipoMedida": /* * TIPO MEDIDA * SIMPLE * id_#################### (Select)(TipoMedida) * id_####################_UML (Select) * id_####################_Altura (input) * id_####################_Anchura (input) * id_####################_Profundidad (input) * id_####################_Diametro (input) * id_####################_Diametro2 (input) */ listaKey = Formulario.AllKeys.Where(k => k == "TipoMedidaID").ToList(); //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string texto_TipoMedidaID = Formulario[key]; addOk = String.IsNullOrWhiteSpace(texto_TipoMedidaID) ? false : true; //validar el valorID, buscar el valor Guid tipoMedidaID = addOk ? new Guid(texto_TipoMedidaID) : new Guid(new Byte[16]); addOk = !addOk ? addOk : listaAdd_AttMed.Where(a => a.TipoMedidaID == tipoMedidaID).FirstOrDefault() == null ? true : false; addOk = !addOk ? addOk : db.TipoMedidas.Where(a => a.TipoMedidaID == tipoMedidaID && a.Status).FirstOrDefault() == null ? false : true; if (addOk) { var medidaPieza = new MedidaPieza() { PiezaID = pieza.PiezaID, Status = true, TipoMedidaID = tipoMedidaID }; string text_UML = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_UML"]) ? "cm" : Formulario["id_" + att.AtributoID + "_UML"]; string text_Altura = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_Altura"]) ? "0" : Formulario["id_" + att.AtributoID + "_Altura"]; string text_Anchura = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_Anchura"]) ? "0" : Formulario["id_" + att.AtributoID + "_Anchura"]; string text_Profundidad = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_Profundidad"]) ? "0" : Formulario["id_" + att.AtributoID + "_Profundidad"]; string text_Diametro = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_Diametro"]) ? "0" : Formulario["id_" + att.AtributoID + "_Diametro"]; string text_Diametro2 = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_Diametro2"]) ? "0" : Formulario["id_" + att.AtributoID + "_Diametro2"]; if (text_Altura == "0") { medidaPieza.Altura = Convert.ToDouble("text_Altura"); } if (text_Anchura == "0") { medidaPieza.Anchura = Convert.ToDouble("text_Anchura"); } if (text_Altura == "0") { medidaPieza.Profundidad = Convert.ToDouble("text_Profundidad"); } if (text_Altura == "0") { medidaPieza.Diametro = Convert.ToDouble("text_Diametro"); } if (text_Altura == "0") { medidaPieza.Diametro2 = Convert.ToDouble("text_Diametro2"); } switch (text_UML) { case "pulgada": medidaPieza.UMLongitud = UMLongitud.pulgada; break; case "dc": medidaPieza.UMLongitud = UMLongitud.dc; break; case "m": medidaPieza.UMLongitud = UMLongitud.m; break; case "dam": medidaPieza.UMLongitud = UMLongitud.dam; break; case "mm": medidaPieza.UMLongitud = UMLongitud.mm; break; case "hm": medidaPieza.UMLongitud = UMLongitud.hm; break; case "km": medidaPieza.UMLongitud = UMLongitud.km; break; default: medidaPieza.UMLongitud = UMLongitud.cm; break; } listaAdd_AttMed.Add(medidaPieza); } } break; case "ImagenPieza": listaKey = Request.Files.AllKeys.Where(k => k == "id_" + att.AtributoID + "_File").ToList(); //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { HttpPostedFileBase FileImageForm = Request.Files[key]; string texto_Titulo = Formulario["id_" + att.AtributoID + "_Titulo"]; string texto_Descripcion = Formulario["id_" + att.AtributoID + "_Descripcion"]; string extension = Path.GetExtension(FileImageForm.FileName); var imgGuid = Guid.NewGuid(); ImagenPieza imagenPieza = new ImagenPieza() { PiezaID = pieza.PiezaID, ImagenPiezaID = imgGuid, Titulo = texto_Titulo, Descripcion = texto_Descripcion, EsPrincipal = true, Orden = 1, Status = true, RutaParcial = "/Content/img/pieza/", NombreImagen = imgGuid.ToString() + extension, }; var rutaGuardar_Original = Server.MapPath(imagenPieza.Ruta); FileImageForm.SaveAs(rutaGuardar_Original); FileImageForm.InputStream.Dispose(); FileImageForm.InputStream.Close(); GC.Collect(); //Generar la mini Thumbnail mini = new Thumbnail() { OrigenSrc = rutaGuardar_Original, DestinoSrc = Server.MapPath(imagenPieza.RutaMini), LimiteAnchoAlto = 250 }; mini.GuardarThumbnail(); //add a la lista de imagenes listaAdd_AttImg.Add(imagenPieza); } break; default: AlertaDanger(String.Format("No se pudo guardar el campo, {0}.", att.NombreAlterno)); break; } } } if (ModelState.IsValid) { int numero = piezaPadre.PiezasHijas.Where(a => a.TipoPiezaID == tipoPieza.TipoPiezaID).Count() + 1; string numeroTexto = numero > 1 ? numero.ToString() : ""; pieza.SubFolio = tipoPieza.Prefijo + numeroTexto; //Guardar la pieza db.Piezas.Add(pieza); db.SaveChanges(); //Guardar sus atributos db.AtributoPiezas.AddRange(listaAdd_AttGen); db.AutorPiezas.AddRange(listaAdd_AttAutor); db.ImagenPiezas.AddRange(listaAdd_AttImg); db.TecnicaPiezas.AddRange(listaAdd_AttTec); db.MedidaPiezas.AddRange(listaAdd_AttMed); db.SaveChanges(); return(Json(new { success = true })); } return(Json(new { success = false })); }
public void coronar(TipoPieza tipoPieza) { this.tipoPieza = tipoPieza; this.piezaVista.coronar(); }
//Método empleado para pintar las adyacencias al nodo actual de forma recursiva, según el tipo de pieza que nos ocupe public void DrawAdjacencies(TipoPieza pieza, bool apertura, Color color) { seleccionables = new List <Node>(); switch (pieza) { case TipoPieza.PEON: //Busca la casilla de delante if (adjacencies[1] != null && !adjacencieNoAlcanzable[1]) { //Añade la casilla si es la meta y está abierta, o si otra casilla if ((adjacencies[1].isGoal && gameController.goalOpen) || !adjacencies[1].isGoal) { if (adjacencies[1].pieza == null) { seleccionables.Add(adjacencies[1]); } } } else if (adjacencieNoAlcanzable[1] && !gameController.horseUnlock) { //Habilitar el caballo gameController.horseUnlock = true; } //Si es apertura, también selecciona la siguiente if (apertura) { if (adjacencies[1].adjacencies[1] != null && !adjacencies[1].adjacencieNoAlcanzable[1] && adjacencies[1].adjacencies[1].pieza == null) { seleccionables.Add(adjacencies[1].adjacencies[1]); } } if (adjacencies[0] != null) { if (adjacencies[0].pieza != null && !adjacencieNoAlcanzable[0]) { seleccionables.Add(adjacencies[0]); } } if (adjacencies[2] != null) { if (adjacencies[2].pieza != null && !adjacencieNoAlcanzable[2]) { seleccionables.Add(adjacencies[2]); } } removeNodeButtonCastle(); removeNodeButtonHorse(); break; case TipoPieza.ALFIL: //Busca las adyacencias en diagonal moverDiagonal(2); //Se elimina la casilla meta de las seleccionables, ya que solo se puede acceder con el peon removeSeleccionableMeta(); removeNodeButtonCastle(); removeNodeButtonHorse(); break; case TipoPieza.TORRE: //Busca las adyacencias rectas moverRecto(5); //Se elimina la casilla meta de las seleccionables, ya que solo se puede acceder con el peon removeSeleccionableMeta(); removeNodeButtonHorse(); break; case TipoPieza.CABALLO: moverL(); //Se elimina la casilla meta de las seleccionables, ya que solo se puede acceder con el peon removeSeleccionableMeta(); removeNodeButtonCastle(); break; case TipoPieza.REINA: //Busca adyacencias rectas y en diagonal moverDiagonal(5); moverRecto(5); //Se elimina la casilla meta de las seleccionables, ya que solo se puede acceder con el peon removeSeleccionableMeta(); removeNodeButtonCastle(); removeNodeButtonHorse(); break; case TipoPieza.REY: //Busca adyacencias rectas y en diagonal moverDiagonal(1); moverRecto(1); //Se elimina la casilla meta de las seleccionables, ya que solo se puede acceder con el peon removeSeleccionableMeta(); removeNodeButtonCastle(); removeNodeButtonHorse(); break; default: break; } //Pone las casillas seleccionables a true y cambia el color setColor(color); }