public void CambiarDatos(__informacionSoldados infoColocar) { NombreSoldado.text = infoColocar.Nombre + " (" + infoColocar.Raza + " el " + infoColocar.Clase + ")"; LevelSoldado.text = "Level : " + infoColocar.Nivel; VidaSoldado.text = "Vida : " + infoColocar.Vida; DañoSoldado.text = "Daño : " + infoColocar.Daño; EnergiaSoldado.text = "Energia : " + infoColocar.Energia; ExperienciaSoldado.text = "Experiencia : " + infoColocar.EXP + "/" + infoColocar.EXPAL; PoderesSoldado.text = "Poderes : " + infoColocar.Poderes + "/3"; HeroeSoldado.text = (infoColocar.Heroe ? "Si" : "No") + " es héroe"; }
/// <summary> /// Crea una nueva carta de un soldado en la lista y en la informacion de la mision (ambos conectados como uno) /// </summary> /// <param name="infoNueva">Informacion a utilizar para crear el soldado</param> public void CrearCartaSoldados(__informacionSoldados infoNueva) { int numeroActualSoldados = NumeroSoldadosActuales + 1; GameObject prefabCarta = Resources.Load("Prefabs/Soldados/PrefabCartasSoldados") as GameObject; Transform posSoldadosLista = GameObject.FindGameObjectWithTag("Soldados_Listados").transform; Transform posSoldadosListaMision = GameObject.Find("Panel_Lista_Tropas").transform; Transform PosInstanciarLista = numeroActualSoldados <= 5 ? posSoldadosLista.Find("Espacio_Soldado_" + numeroActualSoldados) : posSoldadosLista.parent.Find("Espacio_Ocultos"); Transform PosInstanciarMisiones = numeroActualSoldados <= 5 ? posSoldadosListaMision.Find("Borde_Seleccion_Carta_" + numeroActualSoldados) : posSoldadosListaMision.Find("Espacio_Ocultos"); GameObject CartaEnLista = Instantiate(prefabCarta, PosInstanciarLista); GameObject CartaEnMisiones = Instantiate(prefabCarta, PosInstanciarMisiones); CartaEnLista.name = "Carta_Soldado_" + numeroActualSoldados; CartaEnMisiones.name = "Carta_Soldado_" + numeroActualSoldados; __informacionSoldados InfoActualizada = infoNueva; InfoActualizada.SoldadoEnLista = CartaEnLista; InfoActualizada.SoldadoEnListaMision = CartaEnMisiones; CartaEnLista.GetComponent <Soldados>().InfoActualSoldado = InfoActualizada; CartaEnLista.GetComponent <Soldados>().ActualizarInformacionFisicamente(); CartaEnMisiones.GetComponent <Soldados>().InfoActualSoldado = InfoActualizada; CartaEnMisiones.GetComponent <Soldados>().PosibleEnviarAMision = true; CartaEnMisiones.GetComponent <Soldados>().ActualizarInformacionFisicamente(); Transform posSoldados = GameObject.FindGameObjectWithTag("Interfaz_Soldados").transform.Find("Visor_Seleccion_Cartas"); posSoldados.Find("Cantidad_Soldados").GetComponent <UnityEngine.UI.Text>().text = numeroActualSoldados + "/" + NumeroMaximoSoldados; NumeroSoldadosActuales = numeroActualSoldados; DesplazamientoListadoTropasMision[] STropas = GameObject.FindObjectsOfType <DesplazamientoListadoTropasMision>(); int numeroSoldados = 0; foreach (DesplazamientoListadoTropasMision CStropas in STropas) { CStropas.Soldados.Add(CartaEnLista); CStropas.SoldadosMision.Add(CartaEnMisiones); numeroSoldados = CStropas.Soldados.Count; } if (numeroSoldados > 5) { GameObject.FindGameObjectWithTag("Soldados_Listados").transform.parent.Find("Flecha_Derecha").GetComponent <Button>().interactable = true; GameObject.FindGameObjectWithTag("Mision_Para_Enviar").transform.Find("Detalles_Mision").Find("Panel_Informacion_Y_Enemigos").Find("Flecha_Derecha").GetComponent <Button>().interactable = true; } }
IEnumerator PasarDatosAConstruccion() { _Contador -= 1; if (GameObject.Find(_Construccion.name) != null) { CuartelGeneralConstruccionScript CGCS = _Construccion.GetComponent <CuartelGeneralConstruccionScript>(); if (_Contador <= 0) { CGCS.tiempoEnCero = true; if (!YaCreado) { //Creacion de la informacion del soldado: System.Random rnd = new System.Random(); System.Random rnd2 = new System.Random(rnd.Next(1, 56985698) * 96435576 / 14 * 8 / 52 * 89); int numeroNombre = rnd2.Next(0, MGM.NombresDisponiblesSoldados.Count - 1); string Nombre = MGM.NombresDisponiblesSoldados[numeroNombre]; int contador = Random.Range(0, MGM.RazasDisponibles.Count); string Raza = ""; foreach (string CRaza in MGM.RazasDisponibles.Keys) { if (contador == 0) { Raza = CRaza; } contador--; } Sprite Icono = MGM.RazasDisponibles[Raza]; string Pasiva = ""; int contador2 = Random.Range(0, MGM.PasivasExistentes.Count); foreach (string CLlave in MGM.PasivasExistentes.Keys) { if (contador2 == 0) { Pasiva = MGM.PasivasExistentes[CLlave].NombrePasiva; break; } contador2--; } __informacionSoldados InfoSoldado = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: rnd.Next(0, 1) == 1, pNombre: Nombre, pIcono: Icono, pRaza: Raza, pClase: Pasiva); MGM.CrearCartaSoldados(InfoSoldado); } Destroy(this.gameObject); } CGCS.Contador = _Contador; } else { if (_Contador <= 0 && !YaCreado) { //Creacion de la informacion del soldado: System.Random rnd = new System.Random(); System.Random rnd2 = new System.Random(rnd.Next(1, 56985) * 58 * 2354 * 12065 / 7 * 6987 * 96435576); int numeroNombre = rnd2.Next(0, MGM.NombresDisponiblesSoldados.Count - 1); string Nombre = MGM.NombresDisponiblesSoldados[numeroNombre]; int contador = Random.Range(0, MGM.RazasDisponibles.Count - 1);//rnd2.Next(0, MGM.RazasDisponibles.Count - 1); string Raza = ""; foreach (string CRaza in MGM.RazasDisponibles.Keys) { if (contador == 0) { Raza = CRaza; } contador--; } Sprite Icono = MGM.RazasDisponibles[Raza]; string Pasiva = ""; int contador2 = Random.Range(0, MGM.PasivasExistentes.Count - 1);//rnd2.Next(0, MGM.PasivasExistentes.Count - 1); foreach (string CLlave in MGM.PasivasExistentes.Keys) { if (contador2 == 0) { Pasiva = MGM.PasivasExistentes[CLlave].NombrePasiva; break; } contador2--; } __informacionSoldados InfoSoldado = new __informacionSoldados(pDano: 1, pVida: 10, pHeroe: rnd.Next(0, 1) == 1, pNombre: Nombre, pIcono: Icono, pRaza: Raza, pClase: Pasiva); MGM.CrearCartaSoldados(InfoSoldado); YaCreado = true; } } yield return(new WaitForSeconds(1f)); StartCoroutine("PasarDatosAConstruccion"); }
/// <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> /// Eliminar Soldado de la informacion de la mision /// </summary> /// <param name="NumeroSoldado">Numero de soldado a eliminar</param> public void EliminarSoldado(int NumeroSoldado) { infoSoldadosDisponibles[NumeroSoldado] = new __informacionSoldados(); EspacioTropas[NumeroSoldado] = false; }