/// <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; }
/// <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(); } }
/// <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; }
/// <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(); }
/// <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(); }
/// <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); }
/// <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#-/"); }
/// <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(); }
/// <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; }
/// <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; }
/// <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; }
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(); }
void Start() { listaObjetos = GetComponent <ListaObjetos>(); seleccionarObjeto(0); canvas.FindChild(menu).GetChild(0).gameObject.SetActive(true); }
/// <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); }
/// <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(); } }