示例#1
0
    //Al visitar un punto
    public void CheckPunto(int i)
    {
        PuntoRuta p = puntos[i];

        //no primera vez
        if (p.puntoVisitado)
        {
            //mostrar texto
        }
        //primera vez
        else
        {
            //guardar estado
            p.PuntoVisitado();
            //asignar exp
            experienciaRuta += p.expPunto;
            PlayerPrefs.SetInt("expRuta" + indiceRuta, experienciaRuta);
            if (experienciaRuta > 50)
            {
                //mostrar pantalla premio
                DesbloquearPremio();
            }
            GUIController.Instance.MostrarRecompensa(p);
            UserData.Instance.CheckMedalla(p);
        }
    }
示例#2
0
    public void MostrarHito(PuntoRuta p)
    {
        gridImagenesHito.transform.DestroyChildren();
        nombreHito.text = p.nombre;
        urlUnderscore.onClick.RemoveAllListeners();
        urlUnderscore.onClick.AddListener(() => { OpenURL(p.url); });
        urlUnderscore.gameObject.SetActive(p.puntoVisitado ? true : false);
        url.gameObject.SetActive(p.puntoVisitado ? true : false);
        descripcionHito.text = p.puntoVisitado ? p.descripcion : "Visita este hito para obtener más información.";
        for (int i = 0; i < p.imagenes.Count; i++)
        {
            GameObject    go = (GameObject)Instantiate(prefabImagen, gridImagenesHito.transform.position, gridImagenesHito.transform.rotation, gridImagenesHito.transform);
            ImagenGaleria ig = go.GetComponent <ImagenGaleria>();
            if (p.puntoVisitado)
            {
                ig.imagen.sprite = p.imagenes[i];
                ig.clickable     = true;
            }
            else
            {
                ig.imagen.color = Color.gray;
            }
        }

        MostrarOverlay();
        PlayForward(hito);
    }
示例#3
0
 public void DeletePuntoRuta(PuntoRuta puntoRuta)
 {
     try
     {
         _factory.Delete(puntoRuta);
     }
     catch (Exception e)
     {
         _exMan.ManageException(e);
     }
 }
示例#4
0
 void OnTriggerEnter(Collider c)
 {
     if (c.tag == "Point")
     {
         PuntoRuta p = c.GetComponent <PuntoRuta>();
         if (p != null)
         {
             p.EnterPoint();
         }
     }
 }
示例#5
0
        public BaseEntity BuildObject(Dictionary <string, object> row)
        {
            var puntoRuta = new PuntoRuta
            {
                idPuntoRuta  = GetIntValue(row, DbColIdPuntoRuta),
                idRuta       = GetIntValue(row, DbColIdRuta),
                nombrePunto  = GetStringValue(row, DbColNombrePunto),
                latitudRuta  = GetStringValue(row, DbColLatitudRuta),
                longitudRuta = GetStringValue(row, DbColLongitudRuta)
            };

            return(puntoRuta);
        }
示例#6
0
 public void MostrarRecompensa(PuntoRuta p)
 {
     descripcionRecompensa.text = "Has obtenido una recompensa por visitar " + p.nombre + " por primera vez!";
     puntosRecompensa.text      = p.expPunto.ToString();
     if (recompensa.alpha > 0)
     {
         recompensa.alpha = 0;
     }
     PlayForward(recompensa);
     autoOcultarRecompensa = AutoOcultarPanel(recompensa, tiempoNotificacion);
     StartCoroutine(autoOcultarRecompensa);
     ActualizarPuntaje(UserData.Instance.rutas.Count);
 }
示例#7
0
        public PuntoRuta RetrievePuntoRuta(PuntoRuta puntoRuta)
        {
            var ret = new PuntoRuta();

            try
            {
                ret = _factory.Retrieve <PuntoRuta>(puntoRuta);
            }
            catch (Exception e)
            {
                _exMan.ManageException(e);
            }
            return(ret);
        }
示例#8
0
    void InitPoint(MapPoint p)
    {
        PuntoRuta pr = p.point.GetComponent <PuntoRuta>();

        if (pr == null)
        {
            return;
        }
        pr.nombre      = p.name;
        pr.descripcion = p.descripcion;
        pr.imagenes    = new List <Sprite>();
        pr.imagenes.Add(p.imagen);
        pr.url = p.url;
    }
示例#9
0
        public List <T> RetrieveAllPuntoRutaByIdRuta <T>(PuntoRuta puntoRuta)
        {
            var lst = new List <T>();

            try
            {
                var list = _factory.RetrieveAllById <PuntoRuta>(puntoRuta);
                if (list.Count > 0)
                {
                    foreach (var obj in list)
                    {
                        lst.Add((T)Convert.ChangeType(obj, typeof(T)));
                        //se convierte la lista a un tipo List<T> para que pueda ser retornada
                        //al formulario y reconocida como una lista de una instancia de User's
                    }
                }
            }
            catch (Exception ex)
            {
                _exMan.ManageException(ex);
            }
            return(lst); //se retorna la lista al formulario
        }
示例#10
0
    public void CheckMedalla(PuntoRuta p)
    {
        //revisar region del punto
        switch (p.region)
        {
        case PuntoRuta.Region.IX:
            if (visitadosIX == 0)
            {
                //visitado uno de cada region
                if (visitadosX != 0 && visitadosXIV != 0)
                {
                    DesbloquearMedalla(4);
                }
            }
            visitadosIX++;
            if (visitadosIX == totalIX)
            {
                //asignar medalla total region
                DesbloquearMedalla(5);
                Debug.Log("visitados todos region");
            }
            break;

        case PuntoRuta.Region.X:
            if (visitadosX == 0)
            {
                //visitado uno de cada region
                if (visitadosIX != 0 && visitadosXIV != 0)
                {
                    DesbloquearMedalla(4);
                }
            }
            visitadosX++;
            if (visitadosX == totalX)
            {
                DesbloquearMedalla(7);
            }
            break;

        case PuntoRuta.Region.XIV:
            if (visitadosXIV == 0)
            {
                //asignar medalla por visitar region
                //visitado uno de cada region
                if (visitadosX != 0 && visitadosX != 0)
                {
                    DesbloquearMedalla(4);
                }
            }
            visitadosXIV++;
            if (visitadosXIV == totalXIV)
            {
                DesbloquearMedalla(6);
            }
            break;
        }

        int indiceRuta = rutas.FindIndex(x => x == p.ruta);

        if (indiceRuta < 0)
        {
            return;
        }


        //revisar si es 1er punto de ruta
        if (TotalVisitados() == 1)
        {
            //entregar medalla
            DesbloquearMedalla(0);
            Debug.Log("primero ruta");
        }

        if (TotalVisitados() >= Total() / 2)
        {
            DesbloquearMedalla(1);
        }

        if (TotalVisitados() >= Total())
        {
            DesbloquearMedalla(2);
        }

        if (PlayerPrefs.GetInt("EstadoMedalla" + 3, 0) == 0)
        {
            bool desbloquear = true;
            foreach (Ruta r in rutas)
            {
                if (r.PuntosVisitados() == 0)
                {
                    desbloquear = false;
                    break;
                }
            }
            if (desbloquear)
            {
                DesbloquearMedalla(3);
            }
        }

        //revisar total puntos de ruta
        if (rutas[indiceRuta].TodosPuntosVisitados())
        {
            //entregar medalla
            Debug.Log("todos ruta");
            int aux = Mathf.Clamp(8 + indiceRuta, 8, medallas.Count);
            DesbloquearMedalla(aux);
        }
    }