// Use this for initialization void Start() { vida = 100; estadisticas = transform.parent.GetComponent <EstadisticasPlayer>(); equipo = transform.parent.GetComponent <Equipamiento>(); movimient = transform.parent.GetComponent <Movimiento>(); }
private void ActualizarListado(TextBox myTextBox, Equipamiento myEquipamiento) { try { if (!Int16.TryParse(myTextBox.Text, out Int16 cantidadEquipo)) { cantidadEquipo = 0; } //Borro el equipamiento y borro los recursos myEquipamientos.RemoveAll(x => x == myEquipamiento); var myNewEquipamiento = myEquipamiento; myNewEquipamiento.cantidad = cantidadEquipo; myEquipamientos.Add(myNewEquipamiento); // Debug.WriteLine("mETO:" + cantidadEquipo); MuestraMateriales(); } catch (Exception er) { /* myTextBox.Text = "0"; * myTextBox.Background = Brushes.LightCoral; * Debug.WriteLine(er.Message);*/ } }
public Equipamiento wearEquipment(Equipamiento equipamiento) { foreach (var item in equipmentBoxes) { if (item.typeEquipment == equipamiento.typeEquipment) { if (!item.itemStock) { Debug.Log("Empty box"); addEquipment(equipamiento, item); return(null); } else { //Casteos //Equipamiento itemWear=(Equipamiento)item.itemStock; Equipamiento itemWear = item.itemStock as Equipamiento; //removeEquipment(equipamiento,item); addEquipment(equipamiento, item); return(itemWear); } } } return(null); }
//Método que establece la animación de "sostener espada y escudo". void CambioEquipamiento(Equipamiento nuevoItem, Equipamiento anteriorItem) //Utiliza como argumento el item nuevo a equipar, y el item que ya está equipado. { //Si se equipo una espada. if (nuevoItem != null && nuevoItem.tipoEquipamiento == SlotEquipamiento.Arma) //Si el nuevo item no es nulo, y el slot que ocupa es el de arma... { animador.SetLayerWeight(1, 1); //Accedemos al animador, entramos a su layer de indice 1 (Mano derecha) y colocamos su "peso" (O activación) como 1 (1 = Animacion completa). if (diccionarioAnimacionesArmas.ContainsKey(nuevoItem)) { animacionesAtacar = diccionarioAnimacionesArmas[nuevoItem]; } } //Si se desequipo una espada. else if (nuevoItem == null && anteriorItem != null && anteriorItem.tipoEquipamiento == SlotEquipamiento.Arma) { } //Si el nuevo item es nulo, y el anterior no era nulo y era un arma... { animador.SetLayerWeight(1, 0f); //Establece la animación como 0 (Nada). animacionesAtacar = animacionesAtacarDefault; } //Se realiza el MISMO proceso con el escudo. if (nuevoItem != null && nuevoItem.tipoEquipamiento == SlotEquipamiento.Escudo) { animador.SetLayerWeight(2, 1f); } else if (nuevoItem == null && anteriorItem != null && anteriorItem.tipoEquipamiento == SlotEquipamiento.Escudo) { } { animador.SetLayerWeight(2, 0f); } }
//El sig Método, corrige un error de gráfico que ocasiona que la piel del jugador se vea a través de la armadura. void EstablecerBlenShapes(Equipamiento item, int peso) //Este método ocupa como argumentos un item, y un entero que determinará el "peso" del gráfico del jugador. { foreach (RegionMeshEquip piezaCuerpo in item.regionMeshCubierta) //Al inicio, establezco un ciclo que corre por cada enum del tipo "RegionMeshEquip" que haya en la variable "regionMeshCubierta" { meshObjetivo.SetBlendShapeWeight((int)piezaCuerpo, peso); //Cada vez que lo hace, accede al gráfico de la piel de nuestro jugador (meshObjetivo), y ejecuta un método que modifica el peso del mesh seleccionado. //Para acceder al mesh, utiliza el índice de la pieza cuerpo que estamos cubriendo (Piernas = 0, Brazos = 1 ...) ya que están en el mismo orden que los... //"Blendshapes" del jugador, y establece su peso con el argumento. //Modifica el peso del gráfico, con el fin de hacerlo más delgado, y así, evitar que este atraviese la armadura. } }
public override bool UsarItem() { Equipamiento equipamientoActualmenteEquipado = PanelEquipamiento.instance.EquiparObjeto(this); if (equipamientoActualmenteEquipado) { PanelEquipamiento.instance.RemoverEquipo(equipamientoActualmenteEquipado); Inventario.instance.AgregarObjeto(equipamientoActualmenteEquipado, 1); } return(true); }
public override bool IsUsedItem() { Equipamiento currentEquipmentWear = PanelEquipment.Instance.wearEquipment(this); if (currentEquipmentWear) { Inventory.Instance.addObjet(currentEquipmentWear, 1); PanelEquipment.Instance.removeEquipment(currentEquipmentWear); } return(true); }
private void ActualizarUI(Equipamiento nuevoItem, int slot) //Método que actualiza la interfaz de equipamiento, donde analiza que tipo de equipamiento es, y que icono posee. { if (slot == 0) //Si tiene un slot de 0 (Es decir, si es casco) { if (nuevoItem.icono != null) //Y el icono del objeto a equipar no es nulo... { iconosUI[slot].sprite = nuevoItem.icono; //El sprite del casco de la UI de equipamiento, será el icono del item a equipar. } } //Mismo procedimiento para los demás slots de equipamiento. else if (slot == 1) { if (nuevoItem.icono != null) { iconosUI[slot].sprite = nuevoItem.icono; } } else if (slot == 2) { if (nuevoItem.icono != null) { iconosUI[slot].sprite = nuevoItem.icono; } } else if (slot == 3) { if (nuevoItem.icono != null) { iconosUI[slot].sprite = nuevoItem.icono; } } else if (slot == 4) { if (nuevoItem.icono != null) { iconosUI[slot].sprite = nuevoItem.icono; } } else { Debug.LogWarning("El objeto " + nuevoItem.nombre + " no posee un 'tipo de equipamiento o no tiene slot de equipamiento'"); } }
//Este método se encarga de añadir los modificadres del nuevo item, y remover los del anterior, cada vez que se realice un cambio en el equipamiento del jugador. //Recordemos que este método es parte del delegado "CambiosEquip" que se encuentra en la clase "ManejadorEquipamiento". void CambiosEnEquipamiento(Equipamiento nuevoItem, Equipamiento itemAnterior) { if (nuevoItem != null) //Si mi nuevo item no es nulo... (Es decir, si nos equipamos un objeto...) { armadura.AñadirModificador(nuevoItem.modArmadura); //Accede a mi variable "armadura" (Que se encuentra declarada en la clase padre "StatsPersonajes") y ejecuto su método "AñadirModificador".... //que toma como argumento, el modificador de armadura que posee el nuevoItem. daño.AñadirModificador(nuevoItem.modDaño); //Mismo proceso que el anterior, pero con la variable "daño"- sanacion.AñadirModificador(nuevoItem.modSanacion); } if (itemAnterior != null) //Si mi item anterior no es nulo... { armadura.RemoverModificador(itemAnterior.modArmadura); //Remueve su modificador de armadura en el estado general del jugador. daño.RemoverModificador(itemAnterior.modDaño); //Mismo proceso pero también con daño. } }
//Método que se ejecuta en la clase "Equipamiento", ln 16. //Este se encarga de equipar en el slot correcto, el item que seleccione el jugador. (Toma como argumento un objeto que poseea la clase "Equipamiento". public void Equipar(Equipamiento nuevoItem) { yaPoseeArmadura = true; desequiparBoton = false; int indiceSlot = (int)nuevoItem.tipoEquipamiento; //Obtengo el indicador de mi variable tipo Enum "tipoEqupamiento" que me indica que tipo de equipamiento es... //(Cabeza = 0, Torso = 1, Hombro = 2.... (6.25) ManejadorMusica.instancia.Reproducir("Equipar Objeto"); Equipamiento itemAnterior = Desequipar(indiceSlot); //Creamos una variable referencia que almacenará el item que PUEDA encontrarse en el slot de equipamiento del nuevo item a equipar //Decimos que es igal al método "Desequipar", debido a que este nos regresa el equipamiento que se encuentra actualmente en el slot. if (equipamientoActual[indiceSlot] != null) //Si el slot a utilizar ya posee un objeto (Si no es nulo), entonces... { itemAnterior = equipamientoActual[indiceSlot]; //Establece que mi variable "itemAnterior" será el objeto que ocupe ese slot. inventario.Añadir(itemAnterior); //Y ejecuta el método de mi inventario "Añadir" para que este regresa a la casilla del inventario. } if (CambiosEquip != null) //Si existen métodos en mi delegado... { CambiosEquip.Invoke(nuevoItem, itemAnterior); //Lo invoco, utilizando el nuevoItem, y el itemanterior. } EstablecerBlenShapes(nuevoItem, 100); //Ejecuta el método que transforma el gráfico del jugador, utilizando como argumento el item equipado (nuevoItem), y el peso a disminuir (100) haciendo el gráfico del jugador más delgado. equipamientoActual[indiceSlot] = nuevoItem; //Agrego a mi arreglo "equipamientoActual" el "nuevoItem" en el slot ("indiceSlot") que le corresponde. //Si es un casco, su indice enum será de 0, y al momento de agregarse al arreglo de "equipamientoActual", su posición en este también será la de 0 (La inicial). SkinnedMeshRenderer nuevoMesh = Instantiate <SkinnedMeshRenderer>(nuevoItem.mesh); //Instancia un nuevo mesh con el gráfico del item (nuevoItem.mesh) nuevoMesh.transform.parent = meshObjetivo.transform; //Y establezco su parent, que será el "meshObjetivo" (El gráfico default del jugador). //En las siguientes lineas, me encargo de que el comportamiento de los "Huesos" del gráfico del equipamiento, sea igual al comportamiento de los huesos del gráfico del jugador. nuevoMesh.bones = meshObjetivo.bones; nuevoMesh.rootBone = meshObjetivo.rootBone; meshesActuales[indiceSlot] = nuevoMesh; //Agrego en el respectivo indice, el mesh del item. ActualizarUI(nuevoItem, indiceSlot); }
public virtual void OnPointerEnter(PointerEventData eventData) { if (objetoInventario.item is Equipamiento) { PanelesInventario.panelesInventario.tooltipObjetos.AparecerOcultar(true); Equipamiento equipo = (Equipamiento)objetoInventario.item; PanelesInventario.panelesInventario.tooltipObjetos.ActualizarTextos(objetoInventario.item.NombreItem, equipo.StringAtributos()); PanelesInventario.panelesInventario.tooltipObjetos.transform.position = transform.position; } else if (objetoInventario.item) //Tooltip para objetos { PanelesInventario.panelesInventario.tooltipObjetos.AparecerOcultar(true); PanelesInventario.panelesInventario.tooltipObjetos.ActualizarTextos(objetoInventario.item.NombreItem, objetoInventario.item.descripcion); PanelesInventario.panelesInventario.tooltipObjetos.transform.position = transform.position; } if (!objetoInventario) { PanelesInventario.panelesInventario.tooltipObjetos.AparecerOcultar(false); } }
public Equipamiento EquiparObjeto(Equipamiento equipamiento) { foreach (CasillaEquipamiento casillaEquipo in casillaEquipamientos) { if (equipamiento.tipoEquipamiento == casillaEquipo.tipoEquipamiento) { if (!casillaEquipo.itemAlmacenado) { Debug.Log("Casilla está vacia"); AgregarEquipo(equipamiento, casillaEquipo); return(null); } else { Equipamiento objetoEquipado = casillaEquipo.itemAlmacenado as Equipamiento; AgregarEquipo(equipamiento, casillaEquipo); return(objetoEquipado); } } } return(null); }
public Equipamiento Desequipar(int indiceSlot) //Método que desequipa el objeto en el indice correspontiende. (Por ende, toma como argumento el indice de slot) { if (equipamientoActual[indiceSlot] != null) //Primero, verificamos que haya un objeto en el indice de slot (Osease, que no sea nulo), y que este no sea default. { if (!equipamientoActual[indiceSlot].esDefault) //Si el objeto que estoy desequipando no es default... { BotonEquipamiento botonPresionado = EventSystem.current.currentSelectedGameObject.GetComponent <BotonEquipamiento>(); //Almaceno en un objeto del tipo "BotonEquipamiento" el botón que se presione para ejecutar el método "Desequipar" iconosUI[indiceSlot].sprite = botonPresionado.icono; //Establece el icono del UI como el ícono del boton presionado, para con ello, determinar en el UI que el slot está vacío. } if (meshesActuales[indiceSlot] != null) //Si tenemos un "mesh" en ese slot... { Destroy(meshesActuales[indiceSlot].gameObject); //Lo destruimos. (Ya que estamos desequipando el objeto, asi que queremos que ya no se vea en el jugador el objeto desequipado). } Equipamiento itemDesequipado = equipamientoActual[indiceSlot]; //Creamos una variable de clase "Equipamiento" que almacenará las propiedades del equipamiento a quitar. EstablecerBlenShapes(itemDesequipado, 0); //Método que modifica el "peso" del gráfico del jugador, tomando como referencia el objeto que se ha desequipado (itemDesequipado) y el peso del gráfico (Estableciendolo a default por el 0) inventario.Añadir(itemDesequipado); //Añade al inventario el equipamiento que se esta desequipando. equipamientoActual[indiceSlot] = null; //Establece su slot como nulo (Porque ya lo hemos desequipado). if (desequiparBoton) //Si mi bool "desequiparBoton" es verdadera (Es decir, el métofo "Desequipar" fue ejecutado al presionar un botón, entonces... { if (indiceSlot < itemsDefault.Length) //Y el indice del objeto a desequipar no sobrepasa la longitud de mi arreglo de itemsDefault (Por ejemplo; espada tiene un indice de 4, y mi arreglo tiene... //una longitud de 3, entonces no ejecutará las lineas restantes porque no hay un itemDefault con el indice de espada (4). { Equipar(itemsDefault[indiceSlot]); //Equipa el item default con el mismo slot del objeto que se desequipa (Pechera - Camisa, Casco - Cabello, etc...) } } if (CambiosEquip != null) //Si existen métodos en mi delegado.. { CambiosEquip.Invoke(null, itemDesequipado); //Lo invoco, utilizando nulo (Como itemNuevo, porque no hay) y "itemDesequipado". } return(itemDesequipado); //Regreso el item que fue desequipado. } return(null); //Si no había un item en ese slot, entonces regresa nulo. }
private void llenarCaptions() { //Seteamos caption de los combustibles Combustibles.ChangeCaption(EMovilCombus.LitrosCmp, "V1Litros2N1"); Combustibles.ChangeCaption(EMovilCombus.ImporteCmp, "V1Importe2S2"); Combustibles.ChangeCaption(EMovilCombus.FechaCmp, "V1FechaFN1"); Combustibles.ChangeCaption(EEstacion.DesCmp, "V1EstacionCN2"); Combustibles.ChangeCaption(EMovilCombus.KilometrosCmp, "V1KMsNN2"); ////Cambiar caption de equipamiento Equipamiento.ChangeCaption(EMovilEquip.CodequipCmp, "V1CCN1"); Equipamiento.ChangeCaption("meq_des_Equip", "V1EquipamientoCN2"); Equipamiento.ChangeCaption("deleted", ""); //Seteamos caption de Km Kms.ChangeCaption(EMovilKms.FechaCmp, "V1FechaFN2"); Kms.ChangeCaption(EMovilKms.KmCmp, "V1KilometrosNN2"); //Seteamos caption de estados Estados.ChangeCaption(EMovilEstado.FechaCmp, "V1FechaFN2"); Estados.ChangeCaption(EEstado.DesCmp, "V1EstadoCN2"); Estados.ChangeCaption(EMovilEstado.KmCmp, "V1KmsCN2"); Estados.ChangeCaption(EMovilEstado.CodestadoCmp, "V1CCN1"); }
public bool Equipar(Equipamiento item, out Equipamiento previousItem) { for (int i = 0; i < casillaEquipamientos.Length; i++) { if (casillaEquipamientos[i].tipoDeEquipamiento == item.tipoEquipo) //Determinar Casilla { previousItem = casillaEquipamientos[i].Item; casillaEquipamientos[i].Item = item; equipamientos.Add(item); if (previousItem != null) { equipamientos.Remove(previousItem); } ActualizarAtributos(); if (item.tipoEquipo == TipoDeEquipamiento.Arma) { ControlJugador.ArmaEquipado = true; } return(true); } } previousItem = null; return(false); }
public void RemoverEquipo(Equipamiento equipamiento) { equipamientos.Remove(equipamiento); atributos.ActualizarEquipamiento(equipamientos); }
private void AgregarEquipo(Equipamiento equipamiento, CasillaEquipamiento casillaEquipo) { casillaEquipo.AgregarObjeto(equipamiento, 1); equipamientos.Add(equipamiento); atributos.ActualizarEquipamiento(equipamientos); }
private void TxtCaballeroPrefectura_TextChanged(object sender, TextChangedEventArgs e) { ActualizarListado((TextBox)sender, Equipamiento.CaballeroPrefectura(0)); }
private void TxtMonastico_TextChanged(object sender, TextChangedEventArgs e) { ActualizarListado((TextBox)sender, Equipamiento.CaballeroMonastico(0)); }
private void TxtArcabuqueroTercio_TextChanged(object sender, TextChangedEventArgs e) { ActualizarListado((TextBox)sender, Equipamiento.ArcabuceroTercio(0)); }
private void TxtHusarAlado_TextChanged(object sender, TextChangedEventArgs e) { ActualizarListado((TextBox)sender, Equipamiento.HusarAlado(0)); }
private void TxtsoldadoCatafracto_TextChanged(object sender, TextChangedEventArgs e) { ActualizarListado((TextBox)sender, Equipamiento.SoldadoCatafracto(0)); }
private void TxtLanceroFuego_TextChanged(object sender, TextChangedEventArgs e) { ActualizarListado((TextBox)sender, Equipamiento.LanceroFuego(0)); }
public void removeEquipment(Equipamiento equipamiento) { equipamientos.Remove(equipamiento); attributes.updateEquipment(equipamientos); }
public void addEquipment(Equipamiento equipamiento, EquipmentBox equipmentBox_) { equipmentBox_.addObjet(equipamiento, 1); equipamientos.Add(equipamiento); attributes.updateEquipment(equipamientos); }
private void TxtSegadorHierro_TextChanged(object sender, TextChangedEventArgs e) { ActualizarListado((TextBox)sender, Equipamiento.SegadorHierro(0)); }
public void cambiarArmaduta(Equipamiento armaduraNueva) { armadura = armaduraNueva; }
public x() { this.armadura = new FalconArmor(); }
private void TxtLanceroSeñorio_TextChanged(object sender, TextChangedEventArgs e) { Debug.WriteLine("CHANGED"); ActualizarListado((TextBox)sender, Equipamiento.LanceroSeñorio(0)); }
void Start() { controlAnimator = GetComponent <Animator>(); equipar = GetComponent <Equipamiento>(); }