public void CargarElementoEstatico(XmlNodeList _Elementos, ref Map _mapa)
 {
     XmlNodeList _Estaticos = ((XmlElement)_Elementos[0]).GetElementsByTagName("Estaticos");
     XmlNodeList _Elemento = ((XmlElement)_Estaticos[0]).GetElementsByTagName("Elemento");
     foreach (XmlElement a in _Elemento)
     {
         //---------------------------Guardando datos del elemento-----------------//
         bool solid=bool.Parse(a.GetAttribute("solido"));
         float width=float.Parse(a.GetAttribute("width"));
         float height=float.Parse(a.GetAttribute("height"));
         string nombre = a.GetAttribute("name");
         Elemento temp=new Elemento(0,0,width,height,1,0,solid);
             //--------------------------Guardando Especificaciones de imagen------------//
         CargarImagen(temp, a);
             //---------------------------Guardando las posicion-----------------//
         List<PointF> posiciones=CargarPosicion(a);
             //---------------------------Agregar cada elemento al mapa----------//\
         foreach (PointF punto in posiciones)
         {
             Elemento _E =new Elemento(punto.X,punto.Y,temp.rec[0].Width,temp.rec[0].Height,_mapa.k,temp.profundidad,temp.solido);
             _E.AddImg(temp.im);
             _E.DefinePortion(temp.rec[1].X, temp.rec[1].Y, temp.rec[1].Width, temp.rec[1].Height);
             _E.name = nombre;
             _E.type = "Estatico";
             _mapa.AddElemento(_E, punto.X, punto.Y);
         }
             //_mapa.AddElemento(temp.im,temp.profundidad,temp.rec[0].Width,temp.Height,punto.Y,punto.Y,temp,temp.rec[0])
     }
 }
 //<-------------Termina esto
 public void CargarPersonaje(XmlNodeList _Dinamicos,ref Map _mapa)
 {
     XmlNodeList _Elemento = ((XmlElement)_Dinamicos[0]).GetElementsByTagName("Personaje");
     //------------------Cargar info del Elemento animado--------------------//
     foreach (XmlElement a in _Elemento)
     {       //---------------------------Cargando datos del elemento-----------------//
         string nombre = a.GetAttribute("name");
         string clase = a.GetAttribute("clase");
         float width = float.Parse(a.GetAttribute("width"));
         float height = float.Parse(a.GetAttribute("height"));
         string _accion = a.GetAttribute("accion");
         Personaje temp = new Personaje(0, 0, width, height,1, 0);
         //-----------------------Cargando datos de la imagen----------------//
         temp=(Personaje)CargarImagen(temp, a);
         //----------------------Cargando datos de animaciones----------------//
         List<Animacion> Acciones = CargarAnimacion(a,temp.im);
         //----------------------Cargar posiciones--------------------------//
         List<PointF> posiciones = CargarPosicion(a);
         foreach (PointF p in posiciones)
         {
             Personaje _E=null;
             switch (clase)
             {
                 case "Jugador":
                     _E = new Jugador(p.X, p.Y, width, height, _mapa.k, temp.profundidad);
                     _mapa.player = _mapa.Ele.Count;
                     _mapa.IM.mover = new MovimientoPersonaje(_E.Caminar);
                     _mapa.mover = new Moverse(_E.Moverse);
                     _E.clase = "Jugador";
                     break;
                 case "Enemigo":
                     _E = new Enemigo(p.X, p.Y, width, height, _mapa.k, temp.profundidad);
                     _E.clase = "Enemigo";
                     break;
                 case "NPC":
                     _E = new NPC(p.X, p.Y, width, height, _mapa.k, temp.profundidad);
                     _E.clase = "NPC";
                     break;
             }
             _E.AddImg(temp.im);
             _E.DefinePortion(temp.rec[1].X, temp.rec[1].Y, temp.rec[1].Width, temp.rec[1].Height);
             _E.acciones = Acciones;
             _E.SetAction(_accion, false);
             _E.name=nombre;
             CargarEstado(_E, a);
             _E.rec[2] = CargarCaja(a, _E);
             _E.type = "Personaje";
             _mapa.AddElemento(_E, p.X, p.Y);
         }
     }
 }
 public void CargarElementoAnimado(XmlNodeList _Dinamicos,ref Map _mapa)
 {
     XmlNodeList _Elemento = ((XmlElement)_Dinamicos[0]).GetElementsByTagName("Elemento_Animado");
     //------------------Cargar info del Elemento animado--------------------//
     foreach (XmlElement a in _Elemento)
     {       //---------------------------Cargando datos del elemento-----------------//
         bool solid = bool.Parse(a.GetAttribute("solido"));
         float width = float.Parse(a.GetAttribute("width"));
         float height = float.Parse(a.GetAttribute("height"));
         Elemento_Ani temp = new Elemento_Ani(0, 0, width, height, 1, 0, solid);
         //-----------------------Cargando datos de la imagen----------------//
         temp=(Elemento_Ani)CargarImagen(temp, a);
         //----------------------Cargando datos de animaciones----------------//
         temp.ani = CargarAnimacion(a,temp.im)[0];
         //----------------------Cargar posiciones--------------------------//
         List<PointF> posiciones=CargarPosicion(a);
         foreach (PointF punto in posiciones)
         {
             Elemento_Ani _E = new Elemento_Ani(punto.X, punto.Y, temp.rec[0].Width, temp.rec[0].Height, _mapa.k, temp.profundidad, temp.solido);
             _E.AddImg(temp.im);
             _E.DefinePortion(temp.rec[1].X, temp.rec[1].Y, temp.rec[1].Width, temp.rec[1].Height);
             _E.AddAnimation(temp.ani,new FileHandler(GetImg));
             _E.type = "Animado";
             _mapa.AddElemento(_E, punto.X, punto.Y);
         }
     }
 }