예제 #1
0
 void Start()
 {
     MGM = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
     _resultadoRaycast = new List <RaycastResult>();
     _punteroInfo      = new PointerEventData(null);
     _GR = MGM.GraphicRaycasterPrincipal;
 }
예제 #2
0
 public __informacionSoldados(bool pEnMision                     = false, int pEXP       = 0, int pEXPAL       = 100, int pDano    = 0, int pVida = 0,
                              int pEnergia                       = 100, int pPoderes     = 0, bool pHeroe      = false, int pNivel = 1,
                              bool pLesion                       = false, string pNombre = null, Sprite pIcono = null,
                              bool pMisionCompletada             = true, string pClase   = "", string pRaza    = "", GameObject pSoldadoEnLista = null
                              , GameObject pSoldadoEnListaMision = null)
 {
     EnMision             = pEnMision;
     EXP                  = pEXP;
     EXPAL                = pEXPAL;
     Daño                 = pDano;
     Vida                 = pVida;
     Energia              = pEnergia;
     Poderes              = pPoderes;
     Heroe                = pHeroe;
     Nivel                = pNivel;
     Lesion               = pLesion;
     Nombre               = pNombre;
     Icono                = pIcono;
     Clase                = pClase;
     Raza                 = pRaza;
     MisionCompletada     = pMisionCompletada;
     SoldadoEnLista       = pSoldadoEnLista;
     SoldadoEnListaMision = pSoldadoEnListaMision;
     MGM                  = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
 }
예제 #3
0
파일: Mision.cs 프로젝트: Sproilex/ROK
    //----------------------------------------------

    /// <summary>
    /// Inicializacion de Variables, colocar info de los enemigos y actualizar
    /// la info de los paneles de informacion al lado de la mision
    /// </summary>
    void Start()
    {
        MGM = GameObject.Find("ManejadorGeneralMundo").GetComponent <ManejadorGeneralMundo>();
        infoSoldadosDisponibles = new __informacionSoldados[EspacioTropas.Length];


        ContadorTiempoEnMapaBatalla = ManejadorGeneralMundo.CambiarTiempoAFormato(FormatoTiempoEnMapaBatalla, TiempoEnMapaBatalla);

        InfoEnemigos   = new __informacionEnemigos[NombresEnemigos.Length];
        _levelPromedio = 0;
        for (int contador = 0; contador < InfoEnemigos.Length; contador++)
        {
            MGM.EnemigosExistentes.TryGetValue(NombresEnemigos[contador], out InfoEnemigos[contador]);
            _levelPromedio += InfoEnemigos[contador].Level;
        }
        _levelPromedio = _levelPromedio / InfoEnemigos.Length;

        if (this.transform.childCount != 0)
        {
            this.transform.Find("Level").GetComponent <TextMesh> ().text = _levelPromedio.ToString();
        }

        if (!EsInformacion && Temporizador == null)
        {
            Temporizador      = new GameObject();
            Temporizador.name = "[TemporizadorTiempoEnMapa]";
            Temporizador.AddComponent(typeof(TemporizadorTiempoEnMapaMisiones));
            Temporizador.GetComponent <TemporizadorTiempoEnMapaMisiones>().Mision = this;
        }
        _GR = MGM.GraphicRaycasterPrincipal;
    }
    IEnumerator ComprobarParaCreacionCartaSoldado()
    {
        int    contadorEnMinutosOSegundos = _Contador <= 59 ? Convert.ToInt32(_Contador) : Convert.ToInt32(Mathf.Round(_Contador / 60));
        string tiempoEscrito = _Contador <= 59 ? contadorEnMinutosOSegundos == 1 ? " segundo" : " segundos" :
                               contadorEnMinutosOSegundos == 1 ? " minuto" : " minutos";

        if (_tiempoEnCero)
        {
            BajarTiempo = false;
            _posPanelColaConstruccion.Find("Texto_Estado_Cola_Construccion").GetComponent <Text>().text = "Nada en Cola";
            _posPanelColaConstruccion.Find("SubPanel_Estado_Cola_Construccion").Find("Texto_Tiempo_Cola_Construccion")
            .GetComponent <Text>().text = "";
            _posPanelColaConstruccion.parent.Find("Panel_Cartas_Disponibles").Find("SubPanel_Cartas_Disponibles").Find("Texto_Cartas_Disponibles")
            .GetComponent <Text>().text = MGM.NumeroSoldadosActuales + "/" + (MGM.NumeroMaximoSoldados);
            _posPanelColaConstruccion.parent.Find("Panel_Cartas_Por_Crear").Find("SubPanel_Cartas_Por_Crear").Find("Texto_Cartas_Por_Crear")
            .GetComponent <Text>().text = (MGM.NumeroMaximoSoldados - MGM.NumeroSoldadosActuales) + "/" + (MGM.NumeroMaximoSoldados);
            _posPanelColaConstruccion.parent.Find("Borde_Boton_Crear_Soldado").GetChild(0).GetComponent <Button>().interactable = MGM.NumeroSoldadosActuales < MGM.NumeroMaximoSoldados;
            _Contador     = ManejadorGeneralMundo.CambiarTiempoAFormato(MGM.FormatoTiempoGeneracionSoldados, MGM.TiempoGeneracionSoldados);
            _tiempoEnCero = false;
        }
        else
        {
            _posPanelColaConstruccion.Find("Texto_Estado_Cola_Construccion").GetComponent <Text>().text = "En Proceso";
            _posPanelColaConstruccion.Find("SubPanel_Estado_Cola_Construccion").Find("Texto_Tiempo_Cola_Construccion")
            .GetComponent <Text>().text = contadorEnMinutosOSegundos + tiempoEscrito;
        }

        yield return(new WaitForSeconds(.5f));

        if (BajarTiempo)
        {
            StartCoroutine(ComprobarParaCreacionCartaSoldado());
        }
    }
    //Metodos

    void Start()
    {
        MGM = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
        posPanelCompleto          = GameObject.FindGameObjectWithTag("Interfaz_Panel_Soldados").transform;
        _Contador                 = ManejadorGeneralMundo.CambiarTiempoAFormato(MGM.FormatoTiempoGeneracionSoldados, MGM.TiempoGeneracionSoldados);
        _posPanelColaConstruccion = GameObject.FindGameObjectWithTag("Interfaz_Panel_Soldados").transform.Find("Contenedor_Informacion_Creacion_Soldados")
                                    .Find("Panel_Estado_Cola_Construccion");
    }
예제 #6
0
    //Metodos:

    void Start()
    {
        MGM = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
        nombresCuadricula = new List <string>();
        if (EsConstruccionUnica)
        {
            CantidadParaConstruir = 1;
        }
        transform.GetChild(0).GetChild(0).GetChild(0).GetComponent <Text>().text = CantidadParaConstruir.ToString();
    }
예제 #7
0
    //Metodos:

    void Start()
    {
        MGM  = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
        Mapa = GameObject.FindGameObjectWithTag("Mapa").transform;
        ContadorTiempoSpawnear = ManejadorGeneralMundo.CambiarTiempoAFormato(FormatoTiempoAntesDeSpawnear, TiempoAntesDeSpawnear);
        for (int contador = 0; contador < MisionesDisponibles.Count; contador++)
        {
            GameObject Temp = Instantiate(MisionesDisponibles[contador], GameObject.Find("[InformacionMisiones]").transform);
            Temp.name = "[InformacionMision]" + Temp.name + "[Manejador:" + name + "]" + contador;
            Temp.GetComponent <Mision>().EsInformacion = true;
            MisionesDisponibles[contador] = Temp;
        }
        GenerarMision = true;
        ActualizarDificultadesDisponibles();
    }
예제 #8
0
    /// <summary>
    /// Inicializacion de Variables y creacion de los filtros por level
    /// </summary>
    void Start()
    {
        _animatorFiltro = GetComponent <Animator>();

        MGM = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();

        int        ResultadoCuadros = (int)Mathf.Round((MGM.LevelMaximoActual) / 5);
        Transform  PosAgrupador     = transform.Find("Relleno").Find("Tags_Level").Find("Agrupador");
        GameObject Base             = Instantiate(Resources.Load("Prefabs/Filtro/Opcion1") as GameObject, PosAgrupador) as GameObject;

        Base.name = "Base";
        for (int contadorPrefab = 0; contadorPrefab < ResultadoCuadros; contadorPrefab++)
        {
            if (GameObject.Find("Opcion_F_L" + ((5 * (contadorPrefab + 1)) - 5) + "-" + (5 * (contadorPrefab + 1))) == null)
            {
                int        Cantidad          = contadorPrefab + 1;
                GameObject OpcionInstanciada = Instantiate(Resources.Load("Prefabs/Filtro/Opcion1") as GameObject, PosAgrupador) as GameObject;
                OpcionInstanciada.GetComponent <Check_Filtro> ().NumeroComienzoMisiones = contadorPrefab;
                OpcionInstanciada.GetComponent <Check_Filtro> ().NumeroFinalMisiones    = (5 * (contadorPrefab + 1));
                string ComplementoFinal = ((5 * (contadorPrefab + 1)) - 5) + "-" + (5 * (contadorPrefab + 1));
                OpcionInstanciada.transform.Find("Texto_Filtro_Level").GetComponent <Text>().text = "Level " + ComplementoFinal;
                OpcionInstanciada.name = "Opcion_F_L" + ComplementoFinal;
                _OpcionesCreadas.Add(OpcionInstanciada);

                VerticalLayoutGroup VLG = PosAgrupador.GetComponent <VerticalLayoutGroup>();

                if (Cantidad == 1)
                {
                    VLG.spacing = -500;
                }
                else if (Cantidad >= 6)
                {
                    VLG.spacing = -10;
                }
                else if (Cantidad == 2)
                {
                    VLG.spacing = -450;
                }
                else
                {
                    int Resultado = ((-11 * Cantidad) / Mathf.RoundToInt(Cantidad / 2)) * 10;
                    VLG.spacing = Resultado;
                }
            }
        }
    }
예제 #9
0
    //--------------------------------------------

    /// <summary>
    /// Inicializacion de Variables, cambio de informacion de la tropa y calculos principales.
    /// </summary>
    void Start()
    {
        MGM           = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
        EsteTransform = transform;
        Vector3 pos = new Vector3(_posMision.transform.localPosition.x, _posMision.transform.localPosition.y, transform.localPosition.z) - transform.localPosition;

        _TiempoTotalMision = (pos.magnitude * 100) / MGM.VelocidadMovimientoTropas;
        GameObject Temp = Instantiate(Resources.Load("Prefabs/Misiones/PrefabTemporizadorMisiones") as GameObject);
        TemporizadorTranscursoMisiones ScriptTemp = Temp.GetComponent <TemporizadorTranscursoMisiones>();

        ScriptTemp.TiempoTotal        = _TiempoTotalMision;
        ScriptTemp.TiempoTotalCombate = _TiempoCombate;
        _TiempoTotalCombate           = _TiempoCombate;
        _TiempoCombate              = 0;
        ScriptTemp.MIMActual        = this;
        ScriptTemp.BajarTiempo      = true;
        ScriptTemp.LineaSeguimiento = LineaSeguimiento;
        CambiarDireccionDesplazamiento(_posMision.transform.localPosition);
        CiudadEnMapa = GameObject.FindGameObjectWithTag("Ciudad_En_Mapa").transform;
        this.GetComponent <SpriteRenderer>().sprite = MGM.IconoSoldadosMovimiento;
    }
예제 #10
0
    void OnEnable()
    {
        MGM                = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
        EspacioTropas      = serializedObject.FindProperty("EspacioTropas");
        NombresEnemigos    = serializedObject.FindProperty("NombresEnemigos");
        DificultadMision   = serializedObject.FindProperty("DificultadMision");
        EsMisionUnica      = serializedObject.FindProperty("EsMisionUnica");
        NombreBatalla      = serializedObject.FindProperty("NombreBatalla");
        DescripcionBatalla = serializedObject.FindProperty("DescripcionBatalla");
        CantidadMinimaEnergiaRestarSoldados = serializedObject.FindProperty("CantidadMinimaEnergiaRestarSoldados");
        CantidadMaximaEnergiaRestarSoldados = serializedObject.FindProperty("CantidadMaximaEnergiaRestarSoldados");
        EXPADarASoldados = serializedObject.FindProperty("EXPADarASoldados");
        IconoMision      = serializedObject.FindProperty("IconoMision");

        TiempoParaRespawn        = serializedObject.FindProperty("TiempoParaRespawn");
        FormatoTiempoParaRespawn = serializedObject.FindProperty("FormatoTiempoParaRespawn");

        TiempoEnMapaBatalla        = serializedObject.FindProperty("TiempoEnMapaBatalla");
        FormatoTiempoEnMapaBatalla = serializedObject.FindProperty("FormatoTiempoEnMapaBatalla");

        TiempoPeleaBatalla        = serializedObject.FindProperty("TiempoPeleaBatalla");
        FormatoTiempoPeleaBatalla = serializedObject.FindProperty("FormatoTiempoPeleaBatalla");
    }
예제 #11
0
 /// <summary>
 /// Inicializacion de Variables
 /// </summary>
 void Start()
 {
     MGM = GameObject.Find("ManejadorGeneralMundo").GetComponent <ManejadorGeneralMundo>();
     foreach (Sprite CImagen in Resources.LoadAll <Sprite>(@"Iconos\Soldados\atlas_cartas_soldados"))
     {
         if (CImagen.name == "Barra_Energia_Baja")
         {
             BarraEnergiaImagenLesion = CImagen;
         }
         else if (CImagen.name == "Barra_Energia_Completa")
         {
             BarraEnergiaImagenNormal = CImagen;
         }
     }
     BarraEnergia                     = transform.Find("Barra_Energia_Soldado").GetComponent <Slider>();
     ImagenBarraEnergia               = BarraEnergia.transform.GetChild(0).GetChild(0).GetChild(0).GetComponent <Image>();
     _contadorIncrementoEnergia       = MGM.VelocidadRecargaEnergiaSoldados;
     reponerContadorIncrementoEnergia = _contadorIncrementoEnergia;
     _resultadoRaycast                = new List <RaycastResult>();
     _punteroInfo                     = new PointerEventData(null);
     _GR         = MGM.GraphicRaycasterPrincipal;
     Reproductor = GameObject.Find("Reproductor_Voces").GetComponent <AudioSource>();
     StartCoroutine(ModificarDatosSoldados());
 }
예제 #12
0
    IEnumerator SeleccionarMision()
    {
        if (ContadorTiempoSpawnear > 0)
        {
            ContadorTiempoSpawnear -= 1;
        }
        else
        {
            //Seleccionar Dificultad Mision:
            float NumeroGenerado = Random.Range(0.0f, 100.0f);

            EDificultadMisiones DificultadSeleccionada = DevolverDificultadSeleccionada(NumeroGenerado);

            //Seleccionar Mision:
            if (DificultadSeleccionada != EDificultadMisiones.Nada)
            {
                List <GameObject> MisionesPreSeleccionadas = new List <GameObject>();

                for (int contador = 0; contador < MisionesDisponibles.Count; contador++)
                {
                    if (MisionesDisponibles[contador] != null)
                    {
                        Mision ScriptMision   = MisionesDisponibles[contador].GetComponent <Mision>();
                        bool   EsMisionBetada = MisionesBetadas.Find(x => x.Equals(ScriptMision)) != default(Mision);
                        if (ScriptMision.DificultadMision == DificultadSeleccionada && !EsMisionBetada)
                        {
                            MisionesPreSeleccionadas.Add(ScriptMision.gameObject);
                        }
                    }
                }

                ContadorTiempoSpawnear = ManejadorGeneralMundo.CambiarTiempoAFormato(FormatoTiempoAntesDeSpawnear, TiempoAntesDeSpawnear);


                if (MisionesPreSeleccionadas.Count > 0)
                {
                    int NumeroMisionSeleccionada = Random.Range(0, MisionesPreSeleccionadas.Count - 1);

                    MisionLista = MisionesPreSeleccionadas[NumeroMisionSeleccionada];

                    ContadorCadaMision = ManejadorGeneralMundo.CambiarTiempoAFormato(MisionLista.GetComponent <Mision>().FormatoTiempoParaRespawn, MisionLista.GetComponent <Mision>().TiempoParaRespawn);
                    StartCoroutine(ContarTiempoDeMision());
                    _GenerarMision = false;

                    Mision InfMision = MisionLista.GetComponent <Mision>();

                    if (InfMision.EsMisionUnica)
                    {
                        SpawnMisiones[] ManejadoresSpawn = GameObject.FindObjectsOfType <SpawnMisiones>();
                        foreach (SpawnMisiones CSpawn in ManejadoresSpawn)
                        {
                            CSpawn.MisionesBetadas.Add(InfMision);
                        }
                    }
                }
                else
                {
                    _GenerarMision = true;
                }
            }
            else
            {
                ContadorTiempoSpawnear = ManejadorGeneralMundo.CambiarTiempoAFormato(FormatoTiempoAntesDeSpawnear, TiempoAntesDeSpawnear);
            }
        }
        yield return(new WaitForSeconds(1f));

        if (GenerarMision)
        {
            StartCoroutine(SeleccionarMision());
        }
    }
예제 #13
0
파일: Mision.cs 프로젝트: Sproilex/ROK
    /// <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();
    }
예제 #14
0
 void Start()
 {
     _Animator = this.GetComponent <Animator>();
     MGM       = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
 }
예제 #15
0
    //Metodos:

    void Start()
    {
        MGM       = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
        _Contador = _TiempoTotal;
        StartCoroutine("PasarDatosAConstruccion");
    }
예제 #16
0
 void Start()
 {
     MGM            = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
     _animatorPanel = this.transform.GetComponent <Animator>();
 }
예제 #17
0
    //--------------

    void Start()
    {
        MGM = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
    }
예제 #18
0
 void Start()
 {
     MGM = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
     _GR = MGM.GraphicRaycasterPrincipal;
     InicializarVariablesSegunTipoEdificio();
 }
예제 #19
0
 /// <summary>
 /// Inicializacion de Variables
 /// </summary>
 void Start()
 {
     MGM = GameObject.FindGameObjectWithTag("MGM").GetComponent <ManejadorGeneralMundo>();
     _PrefabMisionesInformacion = Resources.Load("Prefabs/Misiones/InformacionMisionPrefab") as GameObject;
     _PrefabManejador           = Resources.Load("Prefabs/Misiones/MisionInformacionPrefabManejador") as GameObject;
 }
예제 #20
0
    /// <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();
        }
    }
예제 #21
0
 //Getters y Setters:
 public void TiempoParaActivar(EFormatoTiempo Formato, float Tiempo)
 {
     _TiempoParaActivar = ManejadorGeneralMundo.CambiarTiempoAFormato(Formato, Tiempo);
 }