Пример #1
0
    /// <summary>
    /// Inicio de la partida
    /// </summary>
    public void Inicializar()
    {
        ResetInfo();

        // instante de inicio de la mision
        m_instanteInicio = Time.timeSinceLevelLoad;

        // calcular los objetivos que ya hay cumplidos al inicio de la mision
        GameLevelMission mision = GameplayService.gameLevelMission;

        if (mision == null)
        {
            Debug.LogWarning("No hay mision cargada");
        }
        else
        {
            List <MissionAchievement> objetivosMision = mision.GetAchievements();
            if (objetivosMision == null)
            {
                Debug.LogWarning("La mision " + GameplayService.gameLevelMission.MissionName + " no tiene objetivos definidos.");
            }
            else
            {
                for (int i = 0; i < objetivosMision.Count; ++i)
                {
                    if (objetivosMision[i].IsAchieved())
                    {
                        Debug.Log("En la mision " + GameplayService.gameLevelMission.MissionName + " el objetivo " + objetivosMision[i].Code + " SI esta conseguido.");
                        m_listaObjetivosIncioMision.Add(objetivosMision[i]);
                    }
                    else
                    {
                        Debug.Log("En la mision " + GameplayService.gameLevelMission.MissionName + " el objetivo " + objetivosMision[i].Code + " aun NO esta conseguido.");
                    }
                }
            }
        }

        //misionInfo.SetAchivementState(objetivosConseguido.ToString(), true);
    }
Пример #2
0
    /// <summary>
    /// Inicializa este control
    /// </summary>
    /// <param name="_numMision">Número de misison (de 0 a 9)</param>
    /// <param name="_glm"></param>
    /// <param name="_misionDesbloqueada">Indica si esta mision ha sido desbloqueada o no</param>
    public void Init(int _numMision, GameLevelMission _glm, bool _misionDesbloqueada)
    {
        // obtener las referencias a los elementos de esta interfaz
        GetReferencias();

        m_misionDesbloqueada = _misionDesbloqueada;

        // pintar el numero de mision
        m_txtNumMision.text = (_numMision + 1).ToString();

        // asignarle el icono que corresponda en funcion del estado y tipo de mision
        if (m_misionDesbloqueada)
        {
            m_imgIcono.texture = (_glm.MissionGameMode == GameMode.Shooter) ? m_texturaLanzador : m_texturaPortero;
        }
        else
        {
            m_imgIcono.texture = (_glm.MissionGameMode == GameMode.Shooter) ? m_texturaLanzadorOff : m_texturaPorteroOff;
        }

        // pintar los objetivos conseguidos en esta mision
        List <MissionAchievement> logros = _glm.GetAchievements();

        for (int i = 0; i < logros.Count; ++i)
        {
            m_imgsObjetivos[i].gameObject.SetActive(logros[i].IsAchieved());
        }

        // boton
        m_boton.action = (_name) => {
            Debug.Log(">>> _glm=" + _glm + "   _numMision=" + _numMision);

            cntMissions.instance.ShowLevelMission(_glm, _numMision);
            cntMissions.instance.MostrarBotonSeleccionado(_numMision % 10);
            GeneralSounds_menu.instance.select();
        };

        // fondo del boton
        m_boton.m_current = (_misionDesbloqueada) ? m_texturaBotonUp : m_texturaBotonBlock;
    }
Пример #3
0
    /// <summary>
    /// Actualiza la informacion de la mision a mostrar
    /// </summary>
    /// <param name="gameLevel"></param>
    /// <param name="_misionDesbloqueada"></param>
    public void SetInfo(GameLevelMission gameLevel, bool _misionDesbloqueada)
    {
        BuscarReferencias();

        // guardar en el "ifcCarrera" si la mision es de lanzador o de portero
        ifcCarrera.instance.estoyMostrandoMisionDeLanzador = (gameLevel.MissionGameMode == GameMode.Shooter);

        // mostrar el nombre de la mision
        m_missionNameLabel.text       = LocalizacionManager.instance.GetTexto(11).ToUpper() + " " + (gameLevel.Index + 1);//int.Parse(partesNombreMision[2]);// + " (" + gameLevel.GetRoundsCount() + " " + LocalizacionManager.instance.GetTexto(145) + ")";
        m_missionNameLabelSombra.text = m_missionNameLabel.text;

        //SetMissionIcon( gameLevel.MissionGameMode );

        // mostrar los objetivos de mision
        int idx = 0;

        foreach (var achievement in gameLevel.GetAchievements())
        {
            bool objetivoConseguido = achievement.IsAchieved();

            // pintar el texto del objetivo de mision con la opacidad que corresponda
            m_missionAchievementLabels[idx].text = achievement.DescriptionID;
            Color colorTexto = m_missionAchievementLabels[idx].color;
            colorTexto.a = objetivoConseguido ? 1.0f : 0.5f;
            m_missionAchievementLabels[idx].color = colorTexto;

            // pintar la sombra del texto
            m_missionAchievementLabelsSombra[idx].text = achievement.DescriptionID;
            m_missionAchievementLabelsSombra[idx].gameObject.SetActive(objetivoConseguido);

            // pintar la estrella con la opacidad que corresponda
            Color colorEstrella = m_iconoObjetivoConseguido[idx].color;
            colorEstrella.a = achievement.IsAchieved() ? 1.0f : 0.2f;
            m_iconoObjetivoConseguido[idx].color   = colorEstrella;
            m_iconoObjetivoConseguido[idx].texture = objetivoConseguido ? m_texturasPrimasConseguidas[idx] : m_texturasPrimasNoConseguidas[idx];

            idx++;
        }

        // actualizar el estado del boton jugar
        m_playButton.gameObject.SetActive(_misionDesbloqueada);
        //m_missionModeIcon.gameObject.SetActive(_misionDesbloqueada);
        if (_misionDesbloqueada)
        {
            m_playButton.action =
                (_name) => {
                GeneralSounds_menu.instance.playOneShot(GeneralSounds_menu.instance.confirmClip);

                // almacenar el modo de juego que se ha seleccionado
                GameplayService.initialGameMode  = gameLevel.MissionGameMode;
                GameplayService.modoJuego        = InfoModosJuego.instance.GetModoJuego("SHOOTER_NORMAL_MODE");
                GameplayService.gameLevelMission = gameLevel;

                // inicializar la pantalla de vestuario
                ifcBase.activeIface = ifcVestuario.instance;
                ifcVestuario.instance.SetPantallaBack(ifcCarrera.instance);

                ifcVestuario.instance.SetVisible(true);
                ifcVestuario.instance.ShowAs(ifcCarrera.instance.estoyMostrandoMisionDeLanzador ? ifcVestuario.TipoVestuario.LANZADOR : ifcVestuario.TipoVestuario.PORTERO);

                // mostrar el vestuario
                new SuperTweener.move(ifcCarrera.instance.gameObject, 0.25f, new Vector3(-1.0f, 0.0f, 0.0f), SuperTweener.CubicOut, (_target) => { ifcCarrera.instance.SetVisible(false); });
                new SuperTweener.move(ifcVestuario.instance.gameObject, 0.25f, new Vector3(0.5f, 0.5f, 0.0f), SuperTweener.CubicOut, (_target) => { });

                //Cortinilla.instance.Play();
            };
        }
    }