public IEnumerator VerificarTiempoEnMapa() { ContadorTiempoEnMapaBatalla -= Time.deltaTime; ManejadorMisionPanel ManejadorMision = GameObject.FindObjectOfType <ManejadorMisionPanel>(); if (ManejadorMision.GetComponent <Animator>().GetBool("Bajar") && ManejadorMision.NombreMisionMapa == this.name) { Transform PosTexto = ManejadorMision.transform.Find("Detalles_Mision").Find("Panel_Informacion_Y_Enemigos") .Find("Elementos_Mision").Find("Panel_Duracion_Descripcion_Enviar").Find("Texto_Expiracion"); string TextoColocar = "Expira en : "; float TiempoP = Mathf.Round(ContadorTiempoEnMapaBatalla); if (TiempoP <= 59) { float Tiempo = Mathf.Round(ContadorTiempoEnMapaBatalla); TextoColocar += Tiempo + (Tiempo == 1 ? " segundo" : " segundos"); } else if (TiempoP <= 3599) { float Tiempo = Mathf.Round(ContadorTiempoEnMapaBatalla / 60); TextoColocar += Tiempo + (Tiempo == 1 ? " minuto" : " minutos"); } else if (TiempoP <= 86399) { float Tiempo = Mathf.Round(ContadorTiempoEnMapaBatalla / 3600); TextoColocar += Tiempo + (Tiempo == 1 ? " hora" : " horas"); } else { float Tiempo = Mathf.Round(ContadorTiempoEnMapaBatalla / 86400); TextoColocar += Tiempo + (Tiempo == 1 ? " día" : " días"); } PosTexto.GetComponent <Text>().text = TextoColocar; } if (ContadorTiempoEnMapaBatalla <= 0) { ManejadorMisionPanel MMP = GameObject.FindObjectOfType <ManejadorMisionPanel>(); if (MMP.GetComponent <Animator>().GetBool("Bajar") && MMP.NombreMisionMapa == this.name) { MGM.ActivarDesactivarSeleccionablesDelMapa(true, true, true, true); } MGM.MisionesEnMapa.Remove(this); if (EsMisionUnica) { SpawnMisiones[] ManejadoresSpawn = GameObject.FindObjectsOfType <SpawnMisiones>(); foreach (SpawnMisiones CSpawn in ManejadoresSpawn) { CSpawn.MisionesBetadas.Remove(this); } } _ManejadorDeSpawn.GetComponent <SpawnMisiones>().GenerarMision = true; Destroy(Temporizador); Destroy(this.gameObject); } yield return(new WaitForSeconds(.5f)); }
/// <summary> /// Inicializacion de Variables y asignacion de valores por defecto a objetos de la escena /// </summary> void Start() { if (!DatosCargados) { CargarDatos(); } GraphicRaycasterPrincipal = GameObject.Find("Interfaz").GetComponent <GraphicRaycaster>(); Transform AIM = GameObject.FindGameObjectWithTag("Agrupador_Informacion_Misiones").transform; _MapasMisiones = GameObject.FindGameObjectsWithTag("Mapa"); _MapasSinMisiones = GameObject.FindGameObjectsWithTag("Mapa_Sin_Misiones"); GameObject[] Mapas = GameObject.FindGameObjectsWithTag("Mapa"); foreach (GameObject Cmapa in Mapas) { if (Cmapa.name != "Mapa_Principal") { Cmapa.SetActive(false); } } GameObject[] Mapas2 = GameObject.FindGameObjectsWithTag("Mapa_Sin_Misiones"); foreach (GameObject Cmapa2 in Mapas2) { Cmapa2.SetActive(false); } _MisionPanel = GameObject.FindGameObjectWithTag("Mision_Para_Enviar").GetComponent <ManejadorMisionPanel>(); //Colocar valores por defecto a el panel de cuartel de soldados: Transform posPanelCreacionSoldados = GameObject.FindGameObjectWithTag("Interfaz_Panel_Soldados").transform.Find("Contenedor_Informacion_Creacion_Soldados"); posPanelCreacionSoldados.Find("Panel_Cartas_Disponibles").Find("SubPanel_Cartas_Disponibles").Find("Texto_Cartas_Disponibles") .GetComponent <UnityEngine.UI.Text>().text = "0/" + NumeroMaximoSoldados; posPanelCreacionSoldados.Find("Panel_Cartas_Por_Crear").Find("SubPanel_Cartas_Por_Crear").Find("Texto_Cartas_Por_Crear") .GetComponent <UnityEngine.UI.Text>().text = NumeroMaximoSoldados + "/" + NumeroMaximoSoldados; //Colocar los valores por defecto a el panel de lista de soldados: Transform posListaSoldados = GameObject.FindGameObjectWithTag("Interfaz_Soldados").transform; posListaSoldados.Find("Visor_Seleccion_Cartas").Find("Cantidad_Soldados").GetComponent <UnityEngine.UI.Text>().text = "Soldados 0/" + NumeroMaximoSoldados; //Para Testear Rapidamente: if (GenerarSoldadosDePrueba) { Sprite[] Iconos = Resources.LoadAll <Sprite>("Iconos/Soldados/Atlas_razas_soldados"); __informacionSoldados InfoSoldado = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: true, pNombre: "Jose", pIcono: Iconos[2], pRaza: "Gnomo", pClase: "Alquimista"); __informacionSoldados InfoSoldado2 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false, pNombre: "Anton", pIcono: Iconos[1], pRaza: "Enano", pClase: "Pescador"); __informacionSoldados InfoSoldado3 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false, pNombre: "Mariano", pIcono: Iconos[3], pRaza: "Humano", pClase: "Saqueador"); __informacionSoldados InfoSoldado4 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false, pNombre: "Mariano", pIcono: Iconos[3], pRaza: "Humano", pClase: "Saqueador"); //__informacionSoldados InfoSoldado4 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false, // pNombre: "Malacath", pIcono: Iconos[2], // pRaza: "Gnomo", pClase: "Granjero"); __informacionSoldados InfoSoldado5 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false, pNombre: "Joselfas", pIcono: Iconos[0], pRaza: "Elfo", pClase: "Observador"); __informacionSoldados InfoSoldado6 = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: false, pNombre: "Ark", pIcono: Iconos[0], pRaza: "Elfo", pClase: "Archivador"); CrearCartaSoldados(InfoSoldado); CrearCartaSoldados(InfoSoldado2); CrearCartaSoldados(InfoSoldado3); CrearCartaSoldados(InfoSoldado4); CrearCartaSoldados(InfoSoldado5); CrearCartaSoldados(InfoSoldado6); } }
/// <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(); }