/// <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); }
/// <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; }
/// <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(); }; } }