/// <summary> /// Cambia los portales de casilla cuando cae en una casilla especial /// </summary> /// <param name="portalesRecibidos">lista de portales creados</param> public void CambiarPortales(ServidorJuegoSE.Portal[] portalesRecibidos) { for (int i = 0; i < Portales.Count; i++) { var casillaDelPortal = Casillas.Find(x => x.Id == Portales[i].IdCasilla); var imagenesEnCasilla = grid_Tablero.Children.Cast <UIElement>().Where (x => x is Image && Grid.GetColumn(x) == casillaDelPortal.Columna && Grid.GetRow(x) == casillaDelPortal.Fila).Cast <Image>(); var portal = imagenesEnCasilla.FirstOrDefault(x => x.Name.Equals(Portales[i].Color + Portales[i].ZonaTablero)); var nuevaCasilla = Casillas.Find(x => x.Id == portalesRecibidos[i].IdCasilla); Grid.SetRow(portal, nuevaCasilla.Fila); Grid.SetColumn(portal, nuevaCasilla.Columna); } Portales = portalesRecibidos.ToList(); }
/// <summary> /// Coloca los portales /// </summary> private void ColocarPortales() { ServidorJuegoSE.Casilla casilla; Image imagenPortal; for (int i = 0; i < Portales.Count; i++) { casilla = Casillas.Find(x => x.Id == Portales[i].IdCasilla); imagenPortal = new Image(); imagenPortal.Source = new BitmapImage(new Uri(Portales[i].UriPortal, UriKind.Relative)); imagenPortal.HorizontalAlignment = HorizontalAlignment.Left; imagenPortal.VerticalAlignment = VerticalAlignment.Bottom; imagenPortal.Height = 90; imagenPortal.Name = Portales[i].Color + Portales[i].ZonaTablero; Grid.SetRow(imagenPortal, casilla.Fila); Grid.SetColumn(imagenPortal, casilla.Columna); grid_Tablero.Children.Add(imagenPortal); } }