public void DesplegarOcultarPanel(bool Cerrar = false) { if (!Cerrar) { if (_Animator.GetBool("Bajar") == false && _Animator.GetBool("Subir") == false) { MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, false, false); MGM.ActivarDesactivarMovimientoMapa("Ciudad", false); _Animator.SetBool("Subir", true); } else { bool Subir = !_Animator.GetBool("Subir"); MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, !Subir, false); MGM.ActivarDesactivarMovimientoMapa("Ciudad", !Subir); _Animator.SetBool("Subir", Subir); _Animator.SetBool("Bajar", !Subir); } } else { _Animator.SetBool("Subir", false); _Animator.SetBool("Bajar", true); } }
public void DesplegarOcultarPanel(bool Cerrar = false) { if (!Cerrar) { if (_animatorMLS.GetBool("Subir") == false && _animatorMLS.GetBool("Bajar") == false) { MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, false, true); _animatorMLS.SetBool("Subir", true); _animatorMLS.SetBool("Bajar", false); } else { bool Bajar = !_animatorMLS.GetBool("Bajar"); MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, Bajar, false); MGM.ActivarDesactivarMovimientoMapa(GameObject.FindGameObjectWithTag("Mapa").name, Bajar); _animatorMLS.SetBool("Subir", !Bajar); _animatorMLS.SetBool("Bajar", Bajar); } GameObject BotonSoldados = GameObject.Find("Boton_Desplegar_Panel_Soldados"); BotonSoldados.GetComponent <Button>().interactable = _animatorMLS.GetBool("Bajar"); BotonSoldados.GetComponent <Image>().color = new Color(1, 1, 1, _animatorMLS.GetBool("Subir") ? 0 : 1); } else { _animatorMLS.SetBool("Subir", false); _animatorMLS.SetBool("Bajar", true); GameObject BotonSoldados = GameObject.Find("Boton_Desplegar_Panel_Soldados"); BotonSoldados.GetComponent <Button>().interactable = true; BotonSoldados.GetComponent <Image>().color = new Color(1, 1, 1, 1); } }
public void DesplegarOcultarPanel(bool cerrar = false) { if (!cerrar) { if (!_animatorPanel.GetBool("Izquierda") && !_animatorPanel.GetBool("Derecha")) { _animatorPanel.SetBool("Derecha", true); } else { _animatorPanel.SetBool("Izquierda", !(_animatorPanel.GetBool("Izquierda"))); _animatorPanel.SetBool("Derecha", !(_animatorPanel.GetBool("Derecha"))); } Transform CuadriculaPos = GameObject.FindGameObjectWithTag("Mapa_Sin_Misiones").transform.Find("Cuadricula"); if (_animatorPanel.GetBool("Izquierda")) { int numeroHijos = CuadriculaPos.childCount; for (int n = 0; n < numeroHijos; n++) { Destroy(CuadriculaPos.GetChild(n).gameObject); } MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, true, false); GameObject BotonConstrucciones = GameObject.Find("Boton_Abrir_Construcciones_Ciudad"); BotonConstrucciones.GetComponent <Image>().color = new Color(1, 1, 1, 1); } else { CuadriculaPos.parent.GetComponent <SistemaConstruccionesCiudad>().CrearCuadricula(); MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, false, false); GameObject BotonConstrucciones = GameObject.Find("Boton_Abrir_Construcciones_Ciudad"); BotonConstrucciones.GetComponent <Button>().interactable = true; BotonConstrucciones.GetComponent <Image>().color = new Color(1, 1, 1, 0); } } else { if (_animatorPanel.GetBool("Derecha")) { Transform CuadriculaPos = GameObject.FindGameObjectWithTag("Mapa_Sin_Misiones").transform.Find("Cuadricula"); int numeroHijos = CuadriculaPos.childCount; for (int n = 0; n < numeroHijos; n++) { Destroy(CuadriculaPos.GetChild(n).gameObject); } } _animatorPanel.SetBool("Derecha", false); _animatorPanel.SetBool("Izquierda", true); GameObject BotonConstrucciones = GameObject.Find("Boton_Abrir_Construcciones_Ciudad"); BotonConstrucciones.GetComponent <Button>().interactable = true; BotonConstrucciones.GetComponent <Image>().color = new Color(1, 1, 1, 1); } }
public void OcultarDesplegarPanel(bool cerrar = false) { if (!cerrar) { bool Subir = _Animator.GetBool("Arriba"); MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, !Subir, false); MGM.ActivarDesactivarMovimientoMapa("Mapa_Principal", !Subir); _Animator.SetBool("Arriba", !Subir); _Animator.SetBool("Abajo", Subir); } else { _Animator.SetBool("Abajo", false); _Animator.SetBool("Arriba", true); } }
public void DesplegarOcultarPanel(bool cerrar = false) { if (!cerrar) { bool Izq = _animatorFiltro.GetBool("Izquierda"); bool Der = _animatorFiltro.GetBool("Derecha"); MGM.ActivarDesactivarSeleccionablesDelMapa(false, false, Izq, false); _animatorFiltro.SetBool("Izquierda", !Izq); _animatorFiltro.SetBool("Derecha", !Der); } else { _animatorFiltro.SetBool("Izquierda", false); _animatorFiltro.SetBool("Derecha", true); } }
/// <summary> /// Guardar informacion de soldados, crear informacion de la mision, bloquear la mision y limpiar la mision mostrada. /// </summary> public void Enviar() { //Verificar si hay almenos un soldado: string NombreMision = MGM.MisionPanel.NombreMisionMapa; ScriptMM = GameObject.Find(NombreMision).GetComponent <Mision>(); bool HaySoldados = false; for (int contador = 0; contador < ScriptMM.EspacioTropas.Length; contador++) { if (ScriptMM.EspacioTropas[contador]) { HaySoldados = true; break; } } if (HaySoldados) { ManejadorGeneralMundo ManejadorG = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>(); //Bloquear Soldados: for (int n = 0; n < ScriptMM.EspacioTropas.Length; n++) { if (ScriptMM.infoSoldadosDisponibles[n].Nombre != null) { ScriptMM.infoSoldadosDisponibles[n].SoldadoEnLista.GetComponent <Soldados>().InfoActualSoldado.MisionCompletada = false; ScriptMM.infoSoldadosDisponibles[n].SoldadoEnListaMision.GetComponent <Soldados>().InfoActualSoldado.MisionCompletada = false; } } //Instanciar el prefab en el panel de informacion de misiones: Transform PosAgrupador = GameObject.FindGameObjectWithTag("Agrupador_Panel_Informacion_Misiones").transform; GameObject ObjetoDeLaMision = null; for (int contador = 0; contador < PosAgrupador.childCount; contador++) { if (PosAgrupador.GetChild(contador).childCount == 0 && PosAgrupador.GetChild(contador).name != "Espacio_Misiones_Ocultas") { ObjetoDeLaMision = Instantiate(_PrefabMisionesInformacion, PosAgrupador.GetChild(contador)); break; } else if (contador + 1 == PosAgrupador.childCount) { ObjetoDeLaMision = Instantiate(_PrefabMisionesInformacion, PosAgrupador.GetChild(contador)); } } //Cambiar Texto de Informacion: PosAgrupador.parent.parent.Find("Encabezado").GetChild(0).GetChild(0).GetComponent <Text>().text = "Resumen de Misiones Enviadas"; //Cambiar Datos: Transform PosInformacionP = ObjetoDeLaMision.transform.Find("SubPanel_Informacion"); PosInformacionP.Find("Texto_Mision_Espacio").GetComponent <Text>().text = ScriptMM.NombreBatalla; PosInformacionP.Find("Icono_Mision").GetComponent <Image>().sprite = ScriptMM.IconoMision; string tiempoTotalMisionEnTexto = ScriptMM.TiempoFinal <= 60 ? (Mathf.Round(ScriptMM.TiempoFinal)).ToString() + " Segundos" : (Mathf.Round(ScriptMM.TiempoFinal / 60)) > 60 ? (Mathf.Round((ScriptMM.TiempoFinal / 60) / 60)).ToString() + " Horas" : (Mathf.Round(ScriptMM.TiempoFinal / 60)).ToString() + " Minutos"; PosInformacionP.Find("Texto_Restante_Mision_Espacio").GetComponent <Text>().text = tiempoTotalMisionEnTexto; PosInformacionP.Find("Panel_Recompensas").Find("Texto_Recompensa_Experiencia_Espacio") .GetComponent <Text>().text = ScriptMM.EXPADarASoldados.ToString(); for (int contador = 0; contador < 3; contador++) { Transform PosCarta = PosInformacionP.Find("Espacio_Soldado_" + (contador + 1)).Find("Carta"); if (contador < ScriptMM.EspacioTropas.Length && ScriptMM.EspacioTropas[contador]) { PosCarta.Find("Icono_Soldado").GetComponent <Image>().sprite = ScriptMM.infoSoldadosDisponibles[contador].Icono; Transform PosDetalles = PosCarta.Find("Detalles_Diseño"); PosDetalles.Find("Level_Soldado").GetComponent <Text>().text = ScriptMM.infoSoldadosDisponibles[contador].Nivel.ToString(); PosDetalles.Find("Nombre_Soldado").GetComponent <Text>().text = ScriptMM.infoSoldadosDisponibles[contador].Nombre.ToString(); } else { Destroy(PosCarta.gameObject); } } //Instanciar y agregar informacion al manejador de la mision: ManejadorPanelInformacionMisiones MPIM = GameObject.FindObjectOfType <ManejadorPanelInformacionMisiones>(); string ComplementoFinal = MPIM.ContadorActualMisiones.ToString(); MPIM.ContadorActualMisiones++; DesplazamientoListadoInformacionMisiones[] SFlechas = GameObject.FindObjectsOfType <DesplazamientoListadoInformacionMisiones>(); foreach (DesplazamientoListadoInformacionMisiones CS in SFlechas) { CS.Misiones.Add(ObjetoDeLaMision); if (CS.gameObject.name == "Boton_Bajar" && CS.Misiones.Count > 3) { CS.GetComponent <Button>().interactable = true; } } Vector3 PosCiudad = GameObject.FindGameObjectWithTag("Ciudad_En_Mapa").transform.position; GameObject ObjetoManejadorMision = Instantiate(_PrefabManejador, new Vector3(PosCiudad.x, PosCiudad.y, -4f), new Quaternion(), ScriptMM.transform.parent); MisionInformacionManejador MIM = ObjetoManejadorMision.GetComponent <MisionInformacionManejador>(); MIM.BotonTerminarMision = PosInformacionP.parent.Find("SubPanel_Resultado").Find("Boton_Finalizar").gameObject; MIM.PosMision = ScriptMM.gameObject; MIM.porcentajeGanar = ScriptMM.ProbabilidadExitoJugador; MIM.TiempoRestanteMostrarMision = PosInformacionP.Find("Texto_Restante_Mision_Espacio").gameObject; MIM.infoSoldados = ScriptMM.infoSoldadosDisponibles; MIM.EspacioTropas = ScriptMM.EspacioTropas; MIM.ExperenciaADar = ScriptMM.EXPADarASoldados; MIM.CantidadMinimaEnergiaAQuitar = ScriptMM.CantidadMinimaEnergiaRestarSoldados; MIM.CantidadMaximaEnergiaAQuitar = ScriptMM.CantidadMaximaEnergiaRestarSoldados; MIM.TiempoCombate = ManejadorGeneralMundo.CambiarTiempoAFormato(ScriptMM.FormatoTiempoPeleaBatalla, ScriptMM.TiempoPeleaBatalla); MIM.NombreMisionInformaciones = ComplementoFinal; GameObject Linea = Instantiate(Resources.Load(@"Prefabs\Misiones\LineaSeguimientoMision") as GameObject); Linea.transform.SetParent(ObjetoManejadorMision.transform); LineRenderer LR = Linea.GetComponent <LineRenderer>(); LR.SetPosition(0, new Vector3(PosCiudad.x, PosCiudad.y, -0.01f)); LR.SetPosition(1, new Vector3(ScriptMM.transform.position.x, ScriptMM.transform.position.y, -0.01f)); MIM.LineaSeguimiento = LR; //Cambiar nombre a cada objeto a uno unico: ObjetoDeLaMision.name = ComplementoFinal; ObjetoManejadorMision.name = "ObjetoManejadorMision:" + ComplementoFinal; GameObject _posMision = ScriptMM.gameObject; _posMision.GetComponent <BoxCollider2D>().enabled = false; _posMision.GetComponent <Mision>().SoldadoEnCamino = true; _posMision.transform.Find("Icono_Mision").GetComponent <SpriteRenderer>().color = new Color(0.5f, 0.5f, 0.5f); ManejadorG.ActivarDesactivarSeleccionablesDelMapa(true, false, true, true); ManejadorG.CerrarYLimpiarMisionMostrada(false); Text TextoCantidadMisiones = GameObject.FindGameObjectWithTag("TextoCantidadMisionesEnviadas").GetComponent <Text>(); TextoCantidadMisiones.text = (System.Convert.ToInt32(TextoCantidadMisiones.text) + 1).ToString(); } }
/// <summary> /// Muestra la info de la mision en el panel correspondiente. /// </summary> /// <param name="CerrarMisionAnterior">Si se quiere cerrar una mision previamente abierta</param> public void MostrarLaInfoMision(bool CerrarMisionAnterior = false) { Transform InfoMisionPosicion = GameObject.FindGameObjectWithTag("Mision_Para_Enviar").transform; ManejadorMisionPanel InfoMision = InfoMisionPosicion.GetComponent <ManejadorMisionPanel>(); //InfoMision.resetearDatos(); GameObject.FindObjectOfType <ManejadorDetallesPanelMision>().ResetearDatos(); //Colocar Datos en el Encabezado: Transform EncabezadoPosicion = InfoMisionPosicion.Find("Encabezado_Mision").Find("Panel_Encabezado_Texto_Mision"); EncabezadoPosicion.Find("Texto_Nombre_Batalla").GetComponent <Text>().text = NombreBatalla; EncabezadoPosicion.Find("Texto_Descripcion_Batalla").GetComponent <Text>().text = '"' + DescripcionBatalla + '"'; //Colocar Datos en los Elementos de la Mision: Transform ElementosMisionPosicion = InfoMisionPosicion.Find("Detalles_Mision").Find("Panel_Informacion_Y_Enemigos").Find("Elementos_Mision"); if (EspacioTropas.Length < 3) { for (int contador = 1; contador <= (3 - EspacioTropas.Length); contador++) { ElementosMisionPosicion.Find("Espacio_Soldado_" + (EspacioTropas.Length + contador)).gameObject.SetActive(false); } } for (int contador = 0; contador < NombresEnemigos.Length; contador++) { Transform PosEnemigo = ElementosMisionPosicion.Find("Enemigo_" + (contador + 1)); PosEnemigo.Find("Level").GetComponent <Text>().text = InfoEnemigos[contador].Level.ToString(); PosEnemigo.Find("Icono").GetComponent <Image>().sprite = InfoEnemigos[contador].Icono; } //Eliminar espacios de enemigos y tropas que sobran if (NombresEnemigos.Length < 3) { for (int contador = 1; contador <= (3 - NombresEnemigos.Length); contador++) { ElementosMisionPosicion.Find("Enemigo_" + (NombresEnemigos.Length + contador)).gameObject.SetActive(false); } } //Colocar Datos en Panel de Duracion, Descripcion y Enviar: Transform PanelDDE = ElementosMisionPosicion.Find("Panel_Duracion_Descripcion_Enviar"); string textoPonerDuracion = "Finaliza en : "; Transform CEM = GameObject.FindGameObjectWithTag("Ciudad_En_Mapa").transform; Vector3 posf = transform.localPosition - CEM.localPosition; _tiempoFinal = posf.magnitude * 100 / (MGM.VelocidadMovimientoTropas); _tiempoFinal += ManejadorGeneralMundo.CambiarTiempoAFormato(FormatoTiempoPeleaBatalla, TiempoPeleaBatalla); if (_tiempoFinal > 59 && _tiempoFinal <= 3599) { float tiempoListo = Mathf.Round(_tiempoFinal / 60); textoPonerDuracion += tiempoListo + (tiempoListo != 1 ? " Minutos" : " Minuto"); } else if (_tiempoFinal > 3599) { float tiempoListo = Mathf.Round(_tiempoFinal / 3600); textoPonerDuracion += tiempoListo + (tiempoListo != 1 ? " Horas" : " Hora"); } else { float tiempoListo = Mathf.Round(_tiempoFinal); textoPonerDuracion += tiempoListo + (tiempoListo != 1 ? " Segundos" : " Segundo"); } PanelDDE.Find("Texto_Duracion").GetComponent <Text>().text = textoPonerDuracion; PanelDDE.Find("Texto_Recompensa_EXP").GetComponent <Text>().text = "+ " + EXPADarASoldados + " puntos XP"; int NivelMinimo = InfoEnemigos[0].Level; for (int contador2 = 0; contador2 < NombresEnemigos.Length; contador2++) { if (InfoEnemigos[contador2].Level < NivelMinimo) { NivelMinimo = InfoEnemigos[contador2].Level; } } NivelMinimo -= 2; List <Soldados> SoldadosMision = new List <Soldados>(); Transform PosCartas = InfoMision.transform.Find("Detalles_Mision").Find("Panel_Lista_Tropas"); for (int contador = 1; contador <= 5; contador++) { GameObject ObjetoSoldado = null; if (PosCartas.Find("Borde_Seleccion_Carta_" + contador).childCount > 0) { ObjetoSoldado = PosCartas.Find("Borde_Seleccion_Carta_" + contador).GetChild(0).gameObject; } if (ObjetoSoldado != null) { SoldadosMision.Add(ObjetoSoldado.GetComponent <Soldados>()); } } for (int contador = 0; contador < PosCartas.Find("Espacio_Ocultos").childCount; contador++) { GameObject ObjetoSoldado = PosCartas.Find("Espacio_Ocultos").GetChild(contador).gameObject; if (ObjetoSoldado != null) { SoldadosMision.Add(ObjetoSoldado.GetComponent <Soldados>()); } } foreach (Soldados CSoldado in SoldadosMision) { if (CSoldado.InfoActualSoldado.Nivel < NivelMinimo) { CSoldado.GetComponent <Image>().color = new Color(1, 0, 0, 1); CSoldado.NoEsNivelMision = true; } else { CSoldado.GetComponent <Image>().color = new Color(1, 1, 1, 1); CSoldado.NoEsNivelMision = false; } } InfoMision.NombreMisionMapa = this.name; MGM.ActivarDesactivarSeleccionablesDelMapa(false, false); InfoMision.DesplegarOcultarPanel(); }