예제 #1
0
 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";
 }
예제 #2
0
    /// <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;
        }
    }
예제 #3
0
    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");
    }
예제 #4
0
    /// <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);
        }
    }
예제 #5
0
파일: Mision.cs 프로젝트: Sproilex/ROK
 /// <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;
 }