Пример #1
0
        /// <summary>
        /// Deserializa la oferta remota.
        /// </summary>
        /// <param name="inventarioRemoto">La oferta remota.</param>
        private void deserializarOfertaRemota(string inventarioRemoto)
        {
            System.IO.StreamWriter writer = new StreamWriter(new MascotaVirtual.Utilidades.DirectorioRaiz().Directorio + "archivos\\ofertaRemota.xml");
            writer.Write(inventarioRemoto);
            writer.Close();

            XmlSerializer serializer = new XmlSerializer(typeof(MascotaSerializable));

            System.IO.StreamReader lector = new System.IO.StreamReader(new DirectorioRaiz().Directorio + "archivos\\ofertaRemota.xml");

            ListaObjetos nuevoInventario;

            nuevoInventario = (ListaObjetos)serializer.Deserialize(lector);
            lector.Close();

            if (!esperandoOfertaPropia)
            {
                this.ofertaRemoto = nuevoInventario;
                this.pintarObjetosOfertaRemoto();
                esperandoOferta       = false;
                esperandoOfertaPropia = true;
            }
            else
            {
                this.ofertaPropia = nuevoInventario;
                this.pintarObjetosOferta();
                esperandoOfertaPropia = false;
            }
            Cursor.Current = Cursors.Default;
        }
Пример #2
0
 /// <summary>
 /// Activa todos los controles.
 /// </summary>
 private void ActivacionTodo()
 {
     if (this.bAceptar.InvokeRequired)
     {
         DelegadoActivacionTodo d = new DelegadoActivacionTodo(ActivacionTodo);
         this.Invoke(d);
     }
     else
     {
         bAceptar.Enabled               = false;
         bRechazar.Enabled              = false;
         bOfertar.Enabled               = true;
         bInventarios.Enabled           = true;
         bOferta.Enabled                = true;
         this.pOferta.Visible           = true;
         this.tcInventarios.Visible     = false;
         this.pInventario.Visible       = false;
         this.pInventarioRemoto.Visible = false;
         this.ofertaPropia              = new ListaObjetos();
         this.ofertaRemoto              = new ListaObjetos();
         pintarObjetosOferta();
         pintarObjetosOfertaRemoto();
         InicializarSeleccionadoOferta();
         pintarSeleccionadoOferta();
         InicializarInventario();
         InicializarInventarioRemoto();
     }
 }
Пример #3
0
        /// <summary>
        /// Constructor sin parámetros que inicializa todas las variables a sus valores básicos
        /// </summary>
        public Mascota()
        {
            bmp   = new Bitmap(237, 188);
            fondo = new Bitmap(new DirectorioRaiz().Directorio + "graficos\\silla.jpg");
            tumba = new Bitmap(new DirectorioRaiz().Directorio + "graficos\\tumba.bmp");

            componentes = new ListaComponentes();
            inventario  = new ListaObjetos();

            mascotaSerializable = new MascotaSerializable();
            //Serializar();
            Deserializar();

            ListaImagenes = new ArrayList();
            NodoComponente aux = new NodoComponente();

            aux             = this.componentes.Cab;
            PuntoReferencia = new Point(200, 185);
            Destino         = puntoReferencia;
            while (aux != null)
            {
                ListaImagenes.Add(new Bitmap(new DirectorioRaiz().Directorio + aux.Info.RutaImagen));
                aux = aux.Siguiente;
            }

            GC.Collect();
            animacion = 0;
            pintable  = Graphics.FromImage(bmp);
            girado    = false;
        }
Пример #4
0
 /// <summary>
 /// Inicializa el intercambio
 /// </summary>
 /// <param name="inventario">Objetos de la mascota</param>
 /// <param name="comunicador">Comunicador usado para la comunicación</param>
 public void Inicializar(ListaObjetos inventario, IComunicaciones comunicador)
 {
     this.inventario       = inventario;
     this.inventarioRemoto = new ListaObjetos();
     this.comunicador      = comunicador;
     this.hiloLectura.Start();
     this.InicializarInventario();
     this.InicializarInventarioRemoto();
 }
Пример #5
0
        /// <summary>
        /// Inicializa el inventario.
        /// </summary>
        private void InicializarInventarioRemoto()
        {
            this.InicializarSeleccionadoRemoto();
            this.InicializarPuntosRemoto();
            ImagenDatos  imagenDatos;
            NodoObjeto   nodoAux;
            ListaObjetos inventario = this.inventarioRemoto;

            nodoAux = inventario.Cab;

            while (nodoAux != null)
            {
                imagenDatos = new ImagenDatos();
                imagenDatos.Inicializar(nodoAux.Info);

                imagenDatos.Click   += new EventHandler(this.seleccionarRemoto_Click);
                imagenDatos.Location = this.CalcularPosicionItemRemoto(nodoAux.Info.Tipo);

                switch (nodoAux.Info.Tipo)
                {
                case ("Alimento"):
                {
                    this.tAlimentosRemoto.Controls.Add(imagenDatos);
                    break;
                }

                case ("Curador"):
                {
                    this.tCuracionesRemoto.Controls.Add(imagenDatos);
                    break;
                }

                case ("Limpiador"):
                {
                    this.tLimpiadoresRemoto.Controls.Add(imagenDatos);
                    break;
                }

                case ("Educador"):
                {
                    this.tEducadoresRemoto.Controls.Add(imagenDatos);
                    break;
                }

                default:
                {
                    this.tOtrosRemoto.Controls.Add(imagenDatos);
                    break;
                }
                }
                nodoAux = nodoAux.Siguiente;
            }
            pintarSeleccionadoRemoto();
        }
Пример #6
0
        /// <summary>
        /// Serializa el inventario.
        /// </summary>
        /// <param name="inventario">El inventario.</param>
        /// <returns>Cadena con el inventario serializado</returns>
        private string serializarInventario(ListaObjetos inventario)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(ListaObjetos));

            System.IO.StreamWriter writer = new System.IO.StreamWriter(new MascotaVirtual.Utilidades.DirectorioRaiz().Directorio + "archivos\\inventario.xml");
            serializer.Serialize(writer, inventario);
            writer.Close();

            System.IO.StreamReader reader = new StreamReader(new MascotaVirtual.Utilidades.DirectorioRaiz().Directorio + "archivos\\inventario.xml");
            string linea = reader.ReadLine();

            reader.Close();
            return(linea);
        }
Пример #7
0
 /// <summary>
 /// Manejador del evento Click en el botón Rechazar.
 /// </summary>
 /// <param name="sender">Fuente del evento.</param>
 /// <param name="e">Arguentos del evento.</param>
 private void bRechazar_Click(object sender, EventArgs e)
 {
     this.ofertaPropia              = new ListaObjetos();
     this.ofertaRemoto              = new ListaObjetos();
     bAceptar.Enabled               = false;
     bRechazar.Enabled              = false;
     bOfertar.Enabled               = true;
     bEliminar.Enabled              = true;
     bInventarios.Enabled           = true;
     bOferta.Enabled                = true;
     this.pOferta.Visible           = true;
     this.tcInventarios.Visible     = false;
     this.pInventario.Visible       = false;
     this.pInventarioRemoto.Visible = false;
     Escribir("/-#RECHAZADA#-/");
 }
Пример #8
0
 /// <summary>
 /// Constructor de prueba para serializar
 /// </summary>
 public MascotaSerializable(bool estaViva, int hambre, int higiene, int educacion, int salud, int diversion, int puntosVida, int nivel, int resistencia, int fuerza, int destreza, int inteligencia)
 {
     EstaViva     = estaViva;
     Hambre       = hambre;
     Higiene      = higiene;
     Educacion    = educacion;
     Salud        = salud;
     Diversion    = diversion;
     PuntosVida   = puntosVida;
     Nivel        = nivel;
     Resistencia  = resistencia;
     Fuerza       = fuerza;
     Destreza     = destreza;
     Inteligencia = inteligencia;
     inventario   = new ListaObjetos();
 }
Пример #9
0
 /// <summary>
 /// Constructor
 /// </summary>
 public CompraVenta()
 {
     inventario               = new ListaObjetos();
     inventarioRemoto         = new ListaObjetos();
     ofertaPropia             = new ListaObjetos();
     ofertaRemoto             = new ListaObjetos();
     ofertaSeleccionadoPropio = true;
     InitializeComponent();
     this.pOferta.Visible           = false;
     this.bAceptar.Enabled          = false;
     this.bRechazar.Enabled         = false;
     this.pInventario.Visible       = true;
     this.pInventarioRemoto.Visible = true;
     inicioHiloLectura            = new ThreadStart(Leer);
     hiloLectura                  = new Thread(inicioHiloLectura);
     inventarioRemotoInicializado = false;
     esperandoOferta              = false;
     esperandoOfertaPropia        = false;
 }
Пример #10
0
        /// <summary>
        /// Deserializa el inventario remoto.
        /// </summary>
        /// <param name="inventarioRemoto">El inventario remoto.</param>
        private void deserializarInventarioRemoto(string inventarioRemoto)
        {
            System.IO.StreamWriter writer = new StreamWriter(new MascotaVirtual.Utilidades.DirectorioRaiz().Directorio + "archivos\\inventarioRemoto.xml");
            writer.Write(inventarioRemoto);
            writer.Close();

            XmlSerializer serializer = new XmlSerializer(typeof(MascotaSerializable));

            System.IO.StreamReader lector = new System.IO.StreamReader(new DirectorioRaiz().Directorio + "archivos\\inventarioRemoto.xml");

            ListaObjetos nuevoInventario;

            nuevoInventario = (ListaObjetos)serializer.Deserialize(lector);
            lector.Close();

            this.inventarioRemoto = nuevoInventario;
            this.InicializarInventarioRemoto();
            Cursor.Current = Cursors.Default;
        }
Пример #11
0
 /// <summary>
 /// Lista de acciones a ejecutar tras el intercambio.
 /// </summary>
 private void intercambioPost()
 {
     realizarIntercambio();
     this.ofertaPropia     = new ListaObjetos();
     this.ofertaRemoto     = new ListaObjetos();
     this.inventarioRemoto = new ListaObjetos();
     this.pintarObjetosOferta();
     this.pintarObjetosOfertaRemoto();
     borrarControlesInventario();
     borrarControlesInventarioRemoto();
     InicializarInventario();
     InicializarInventarioRemoto();
     bAceptar.Enabled               = false;
     bRechazar.Enabled              = false;
     bOfertar.Enabled               = true;
     bInventarios.Enabled           = true;
     bOferta.Enabled                = true;
     this.pOferta.Visible           = true;
     this.tcInventarios.Visible     = false;
     this.pInventario.Visible       = false;
     this.pInventarioRemoto.Visible = false;
 }
Пример #12
0
 void Start()
 {
     listaObjetos = GetComponent<ListaObjetos>();
     seleccionarObjeto(0);
     canvas.FindChild(menu).GetChild(0).gameObject.SetActive(true);
 }
    public override void OnInspectorGUI()
    {
        serializedObject.Update();

        EditorGUILayout.PropertyField(DecisaoAcao);

        #region Só Scripts
        if (Alvo.decisao == ChamarComponent.TipoDeAcao.SomenteScripts)
        {
            EditorGUILayout.LabelField("Quantos Scripts?");
            EditorGUILayout.PropertyField(Tamanho);
            EditorGUILayout.Space();
            if (Tamanho.intValue < 1)
            {
                Tamanho.intValue = 1;
            }
            if (Tamanho.intValue > 0)
            {
                mostraElementos = true;
            }
            else
            {
                mostraElementos = false;
            }
            #region ReSize
            try
            {
                ResizeList(ListaScripts, Tamanho);
                ResizeList(ListaIndexs, Tamanho);
                ResizeList(ListaObjetos, Tamanho);
                ResizeList(ListaIndex2, Tamanho);
            }
            catch
            {
            }
            #endregion
            #region Arrumar
            if (mostraElementos)
            {
                EditorGUILayout.LabelField("----Inicio----");

                for (int i = 0; i < Tamanho.intValue; i++)
                {
                    ListaIndexs.GetArrayElementAtIndex(i).intValue = EditorGUILayout.Popup(ListaIndexs.GetArrayElementAtIndex(i).intValue, Opcoes);
                    switch (ListaIndexs.GetArrayElementAtIndex(i).intValue)
                    {
                    case 0:
                        EditorGUILayout.PropertyField(ListaScripts.GetArrayElementAtIndex(i));
                        break;

                    case 1:
                        GetScriptFromAnotherGameObject(ListaObjetos.GetArrayElementAtIndex(i), ListaIndex2.GetArrayElementAtIndex(i), i);
                        break;
                    }
                    if (i + 1 == Tamanho.intValue)
                    {
                        EditorGUILayout.LabelField("----Fim----");
                    }
                    else
                    {
                        EditorGUILayout.LabelField("----Outro----");
                    }
                }
            }
            #endregion
        }
        #endregion
        #region Scripts e GameObjects
        if (Alvo.decisao == ChamarComponent.TipoDeAcao.ScriptsEGameObject)
        {
            EditorGUILayout.LabelField("Quantos Objetos/Scripts?");
            EditorGUILayout.PropertyField(Tamanho);
            EditorGUILayout.Space();
            if (Tamanho.intValue < 1)
            {
                Tamanho.intValue = 1;
            }
            if (Tamanho.intValue > 0)
            {
                mostraElementos = true;
            }
            else
            {
                mostraElementos = false;
            }
            #region ReSize
            try
            {
                ResizeList(ListaScripts, Tamanho);
                ResizeList(ListaIndexs, Tamanho);
                ResizeList(ListaObjetos, Tamanho);
                ResizeList(ListaIndex2, Tamanho);
            }
            catch
            {
            }
            #endregion
            #region Arrumar
            if (mostraElementos)
            {
                EditorGUILayout.LabelField("----Inicio----");

                for (int i = 0; i < Tamanho.intValue; i++)
                {
                    ListaIndexs.GetArrayElementAtIndex(i).intValue = EditorGUILayout.Popup(ListaIndexs.GetArrayElementAtIndex(i).intValue, Opcoes2);
                    switch (ListaIndexs.GetArrayElementAtIndex(i).intValue)
                    {
                    case 0:
                        EditorGUILayout.PropertyField(ListaScripts.GetArrayElementAtIndex(i));
                        break;

                    case 1:
                        GetScriptFromAnotherGameObject(ListaObjetos.GetArrayElementAtIndex(i), ListaIndex2.GetArrayElementAtIndex(i), i);
                        break;

                    case 2:
                        if (Alvo.Scripts[i] != null)
                        {
                            Alvo.Scripts.RemoveAt(i);
                        }
                        EditorGUILayout.PropertyField(ListaObjetos.GetArrayElementAtIndex(i));
                        break;
                    }
                    if (i + 1 == Tamanho.intValue)
                    {
                        EditorGUILayout.LabelField("----Fim----");
                    }
                    else
                    {
                        EditorGUILayout.LabelField("----Outro----");
                    }
                }
            }
            #endregion
        }
        #endregion
        serializedObject.ApplyModifiedProperties();
    }
Пример #14
0
 void Start()
 {
     listaObjetos = GetComponent <ListaObjetos>();
     seleccionarObjeto(0);
     canvas.FindChild(menu).GetChild(0).gameObject.SetActive(true);
 }
Пример #15
0
        /// <summary>
        /// Constructor por defecto
        /// </summary>
        public MascotaSerializable()
        {
            EstaViva   = true;
            Hambre     = 0;
            Higiene    = 100;
            Educacion  = 0;
            Salud      = 100;
            Diversion  = 100;
            PuntosVida = 1000;
            Dinero     = 0;

            acumuladoAtributoDestrezaInteligencia = 0;
            acumuladoAtributoResistenciaFuerza    = 0;

            Resistencia  = 1;
            Fuerza       = 3;
            Destreza     = 1;
            Inteligencia = 1;
            Nivel        = resistencia + fuerza + destreza + inteligencia;

            Inventario  = new ListaObjetos();
            Componentes = new ListaComponentes();

            Educador  libro     = new Educador("Libro", 10, "graficos\\libro.bmp");
            Alimento  cerebro   = new Alimento("Cerebro", 80, "graficos\\cerebro.bmp");
            Alimento  bocadillo = new Alimento("Bocadillo", 10, "graficos\\bocata.bmp");
            Limpiador patito    = new Limpiador("Patito de Goma", 70, "graficos\\higiene.bmp");
            Curador   botiquin  = new Curador("Botiquín", 100, "graficos\\botiquin.bmp");

            inventario.Insertar(libro);
            inventario.Insertar(cerebro);
            inventario.Insertar(bocadillo);
            inventario.Insertar(patito);
            inventario.Insertar(botiquin);

            Point puntoMedio = new Point(200, 150);

            #region Pierna Derecha
            Componente piernaDerecha = new Componente();

            piernaDerecha.DatosAnimacionQuieto[0].RectanguloFuente         = new Rectangle(0, 0, 34, 21);
            piernaDerecha.DatosAnimacionQuieto[0].DistanciaPuntoReferencia = new Point(0, -40);
            piernaDerecha.DatosAnimacionQuieto[1].RectanguloFuente         = new Rectangle(0, 0, 34, 21);
            piernaDerecha.DatosAnimacionQuieto[1].DistanciaPuntoReferencia = new Point(0, -40);

            for (int i = 0; i < 6; i++)
            {
                piernaDerecha.DatosAnimacionCaminar[i].RectanguloFuente               = new Rectangle(34 * i, 0, 34, 21);
                piernaDerecha.DatosAnimacionCaminar[i].DistanciaPuntoReferencia       = new Point(0, -40);
                piernaDerecha.DatosAnimacionCaminarGirado[i].DistanciaPuntoReferencia = new Point(0, -40);
            }

            piernaDerecha.CalcularGiro();
            piernaDerecha.Frame      = 0;
            piernaDerecha.GradoVida  = 0;
            piernaDerecha.Nombre     = "piernaDerecha";
            piernaDerecha.RutaImagen = "graficos//pieDerechoAndando.bmp";
            #endregion
            #region Pierna Izquierda
            Componente piernaIzquierda = new Componente();

            piernaIzquierda.DatosAnimacionQuieto[0].RectanguloFuente         = new Rectangle(0, 0, 32, 21);
            piernaIzquierda.DatosAnimacionQuieto[0].DistanciaPuntoReferencia = new Point(0, -40);
            piernaIzquierda.DatosAnimacionQuieto[1].RectanguloFuente         = new Rectangle(0, 0, 32, 21);
            piernaIzquierda.DatosAnimacionQuieto[1].DistanciaPuntoReferencia = new Point(0, -40);

            for (int i = 0; i < 6; i++)
            {
                piernaIzquierda.DatosAnimacionCaminar[i].RectanguloFuente               = new Rectangle(32 * i, 0, 32, 21);
                piernaIzquierda.DatosAnimacionCaminar[i].DistanciaPuntoReferencia       = new Point(0, -40);
                piernaIzquierda.DatosAnimacionCaminarGirado[i].DistanciaPuntoReferencia = new Point(0, -40);
            }

            piernaIzquierda.CalcularGiro();
            piernaIzquierda.Frame      = 0;
            piernaIzquierda.GradoVida  = 0;
            piernaIzquierda.Nombre     = "piernaIzquierda";
            piernaIzquierda.RutaImagen = "graficos//pieIzquierdoAndando.bmp";
            #endregion
            #region Brazo Derecho
            Componente brazoDerecho = new Componente();
            brazoDerecho.DatoComponente.RectanguloFuente         = new Rectangle(0, 0, 24, 29);
            brazoDerecho.DatoComponente.DistanciaPuntoReferencia = new Point(0, -62);

            for (int i = 0; i < 6; i++)
            {
                brazoDerecho.DatosAnimacionCaminar[i].RectanguloFuente               = new Rectangle(0, 0, 24, 29);
                brazoDerecho.DatosAnimacionCaminar[i].DistanciaPuntoReferencia       = new Point(2, -62);
                brazoDerecho.DatosAnimacionCaminarGirado[i].DistanciaPuntoReferencia = new Point(4, -62);
            }

            brazoDerecho.CalcularGiro();
            brazoDerecho.DatosAnimacionQuieto[0].RectanguloFuente         = new Rectangle(0, 0, 24, 29);
            brazoDerecho.DatosAnimacionQuieto[0].DistanciaPuntoReferencia = new Point(0, -62);
            brazoDerecho.Frame      = 0;
            brazoDerecho.GradoVida  = 0;
            brazoDerecho.Nombre     = "brazoDerecho";
            brazoDerecho.RutaImagen = "graficos//brazoZombieCorbata.bmp";
            #endregion
            #region Brazo Izquierdo
            Componente brazoIzquierdo = new Componente();
            brazoIzquierdo.DatoComponente.RectanguloFuente         = new Rectangle(0, 0, 24, 29);
            brazoIzquierdo.DatoComponente.DistanciaPuntoReferencia = new Point(0, -62);

            for (int i = 0; i < 6; i++)
            {
                brazoIzquierdo.DatosAnimacionCaminar[i].RectanguloFuente               = new Rectangle(0, 0, 24, 29);
                brazoIzquierdo.DatosAnimacionCaminar[i].DistanciaPuntoReferencia       = new Point(2, -62);
                brazoIzquierdo.DatosAnimacionCaminarGirado[i].DistanciaPuntoReferencia = new Point(4, -62);
            }
            brazoIzquierdo.DatosAnimacionQuieto[1].RectanguloFuente         = new Rectangle(0, 0, 24, 29);
            brazoIzquierdo.DatosAnimacionQuieto[1].DistanciaPuntoReferencia = new Point(0, -62);

            brazoIzquierdo.CalcularGiro();
            brazoIzquierdo.Frame      = 0;
            brazoIzquierdo.GradoVida  = 0;
            brazoIzquierdo.Nombre     = "brazoIzquierdo";
            brazoIzquierdo.RutaImagen = "graficos//brazoZombieCorbata.bmp";
            #endregion
            #region Tronco
            Componente tronco = new Componente();
            tronco.DatosAnimacionQuieto[0].RectanguloFuente         = new Rectangle(0, 0, 32, 33);
            tronco.DatosAnimacionQuieto[0].DistanciaPuntoReferencia = new Point(0, -71);
            tronco.DatosAnimacionQuieto[1].RectanguloFuente         = new Rectangle(0, 0, 32, 33);
            tronco.DatosAnimacionQuieto[1].DistanciaPuntoReferencia = new Point(0, -71);

            for (int i = 0; i < 6; i++)
            {
                tronco.DatosAnimacionCaminar[i].RectanguloFuente               = new Rectangle(32 * i, 0, 32, 33);
                tronco.DatosAnimacionCaminar[i].DistanciaPuntoReferencia       = new Point(0, -71);
                tronco.DatosAnimacionCaminarGirado[i].DistanciaPuntoReferencia = new Point(0, -71);
            }

            tronco.CalcularGiro();
            tronco.Frame      = 0;
            tronco.GradoVida  = 0;
            tronco.Nombre     = "tronco";
            tronco.RutaImagen = "graficos//cuerpoZombieAndando.bmp";
            #endregion
            #region Cabeza
            Componente cabeza = new Componente();
            cabeza.GradoVida = 0;
            cabeza.Frame     = 0;
            for (int i = 0; i < 6; i++)
            {
                cabeza.DatosAnimacionCaminar[i].RectanguloFuente = new Rectangle(0, 0, 42, 44);
            }
            cabeza.DatosAnimacionQuieto[0].DistanciaPuntoReferencia = new Point(-20, -105);
            cabeza.DatosAnimacionQuieto[0].RectanguloFuente         = new Rectangle(0, 0, 42, 44);
            cabeza.DatosAnimacionQuieto[1].DistanciaPuntoReferencia = new Point(-20, -105);
            cabeza.DatosAnimacionQuieto[1].RectanguloFuente         = new Rectangle(0, 0, 42, 44);

            cabeza.DatosAnimacionCaminar[0].DistanciaPuntoReferencia       = new Point(-20, -105);
            cabeza.DatosAnimacionCaminar[1].DistanciaPuntoReferencia       = new Point(-20, -105);
            cabeza.DatosAnimacionCaminar[2].DistanciaPuntoReferencia       = new Point(-13, -107);
            cabeza.DatosAnimacionCaminar[3].DistanciaPuntoReferencia       = new Point(-20, -105);
            cabeza.DatosAnimacionCaminar[4].DistanciaPuntoReferencia       = new Point(-20, -105);
            cabeza.DatosAnimacionCaminar[5].DistanciaPuntoReferencia       = new Point(-13, -107);
            cabeza.DatosAnimacionCaminarGirado[0].DistanciaPuntoReferencia = new Point(3, -107);
            cabeza.DatosAnimacionCaminarGirado[1].DistanciaPuntoReferencia = new Point(10, -105);
            cabeza.DatosAnimacionCaminarGirado[2].DistanciaPuntoReferencia = new Point(10, -105);
            cabeza.DatosAnimacionCaminarGirado[3].DistanciaPuntoReferencia = new Point(3, -107);
            cabeza.DatosAnimacionCaminarGirado[4].DistanciaPuntoReferencia = new Point(10, -105);
            cabeza.DatosAnimacionCaminarGirado[5].DistanciaPuntoReferencia = new Point(10, -105);

            cabeza.CalcularGiro();

            cabeza.Nombre     = "Cabeza";
            cabeza.RutaImagen = "graficos//cabezaZombieCorbata.bmp";
            #endregion

            componentes.Insertar(piernaDerecha);
            componentes.Insertar(brazoDerecho);
            componentes.Insertar(tronco);
            componentes.Insertar(piernaIzquierda);
            componentes.Insertar(brazoIzquierdo);
            componentes.Insertar(cabeza);
        }
Пример #16
0
        /// <summary>
        /// Deserializa la mascota Serializable.
        /// </summary>
        public void Deserializar()
        {
            try
            {
                long memoria = new long();
                memoria = GC.GetTotalMemory(false);
                MascotaSerializable mascotaDeserializada;
                XmlSerializer       serializer = new XmlSerializer(typeof(MascotaSerializable));

                using (System.IO.StreamReader reader = new System.IO.StreamReader(new DirectorioRaiz().Directorio + "archivos\\XMLMascotaSerializable.xml"))
                {
                    mascotaDeserializada = (MascotaSerializable)serializer.Deserialize(reader);
                    reader.Close();
                    serializer = null;
                }

                GC.Collect();

                EstaViva     = mascotaDeserializada.EstaViva;
                Hambre       = mascotaDeserializada.Hambre;
                Higiene      = mascotaDeserializada.Higiene;
                Educacion    = mascotaDeserializada.Educacion;
                Salud        = mascotaDeserializada.Salud;
                Diversion    = mascotaDeserializada.Diversion;
                PuntosVida   = mascotaDeserializada.PuntosVida;
                Nivel        = mascotaDeserializada.Nivel;
                Resistencia  = mascotaDeserializada.Resistencia;
                Fuerza       = mascotaDeserializada.Fuerza;
                Destreza     = mascotaDeserializada.Destreza;
                Inteligencia = mascotaDeserializada.Inteligencia;
                Dinero       = mascotaDeserializada.Dinero;
                AcumuladoAtributoResistenciaFuerza     = mascotaDeserializada.AcumuladoAtributoResistenciaFuerza;
                AcumuladorAtributoDestrezaIngeligencia = mascotaDeserializada.AcumuladorAtributoDestrezaIngeligencia;

                componentes = mascotaDeserializada.Componentes;

                inventario           = mascotaDeserializada.Inventario;
                mascotaDeserializada = null;
                GC.Collect();
                memoria = GC.GetTotalMemory(true);

                if (OnDiversionCambiada != null)
                {
                    OnDiversionCambiada(this, diversion);
                }
                if (OnEducacionCambiada != null)
                {
                    OnEducacionCambiada(this, educacion);
                }
                if (OnHambreCambiada != null)
                {
                    OnHambreCambiada(this, hambre);
                }
                if (OnHigieneCambiada != null)
                {
                    OnHigieneCambiada(this, higiene);
                }
                if (OnPuntosVidaCambiada != null)
                {
                    OnPuntosVidaCambiada(this, puntosVida);
                }
                if (OnSaludCambiada != null)
                {
                    OnSaludCambiada(this, salud);
                }
                if (OnDineroCambiado != null)
                {
                    OnDineroCambiado(this, dinero);
                }
            }
            catch
            {
                Serializar(true);
                Deserializar();
            }
        }