Beispiel #1
0
        public JsonResult GetLogros()
        {
            Dictionary <string, string> q = Logros.GetLogros();
            Persona          p            = Manager.Instance.GetDatosUsuario(User.Identity.Name);
            List <LogroJson> result       = new List <LogroJson>();

            if (p.Logros != null && p.Logros.Count > 0)
            {
            }
            else
            {
                foreach (var a in q)
                {
                    result.Add(new LogroJson()
                    {
                        Logro    = a.Key,
                        Icon     = q[a.Key],
                        Cantidad = 0,
                        Ganado   = false
                    });
                }
            }

            return(Json(result));
        }
Beispiel #2
0
    /// <summary>
    /// Este método se encarga de que una vez obtenida la respuesta del servidor y este correctamente
    /// listar todos los logros en <GameObjetcs> y para que puedan ser visualizados en la vista
    /// 'logros', ademas estos objetos pasan a ser guardados en una lista para que puedan ser
    /// manipulados y/o destruidos
    /// </summary>
    /// <param name="www">Parametro que sirve para esperar la respuesta del servicio web</param>
    /// <returns>Espera la respuesta del servidor para listar los logros</returns>
    IEnumerator requestListar(WWW www, string token, string external)
    {
        yield return(www);

        if (string.IsNullOrEmpty(www.error))
        {
            logros = JsonUtility.FromJson <Logros> (www.text);
            limpiarListaItems();
            for (int i = 0; i < logros.ids.Length; i++)
            {
                GameObject obj = (GameObject)Instantiate(itemLogro);
                listaItems.Add(obj);
                obj.transform.parent     = trnsItemLogro.parent;
                obj.transform.localScale = new Vector3(1f, 1f, 1f);
                //obtengo el componente para editar la info de cada item
                controlItem = obj.GetComponent <ControlItemLogro> ();
                controlItem.editarInfoItem(logros.ids[i], logros.nombres[i],
                                           logros.descripciones[i], logros.imagenes[i]);
            }
            //una vez listados todos los logros se busca los desbloqueados por el jugador actual
            obtenerLogrosDesbloqueados(token, external);
        }
        else
        {
            print("Error al listar logros. " + www.error);
        }
    }
Beispiel #3
0
    /// <summary>
    /// Este método se encarga de que una vez obtenida la respuesta del servidor y este correctamente
    /// obtener una lista de los logros debloqueados por el jugador que este realizando la peticion
    /// y de esta forma aparezcan en la interfaz de 'logros' como ya desbloqueados.
    /// </summary>
    /// <param name="www">Parametro que sirve para esperar la respuesta del servicio web</param>
    /// <returns>Espera la respuesta del servidor para listar los logros desbloqueados</returns>
    IEnumerator requestDesbloqueados(WWW www)
    {
        yield return(www);

        if (string.IsNullOrEmpty(www.error))
        {
            logrosDesbloqueados = JsonUtility.FromJson <Logros> (www.text);
            for (int i = 0; i < logros.nombres.Length; i++)
            {
                // de esta manera evito una complejidad O(n)^2 y solo es O(n)log n
                if (listaItems[i].GetComponent <ControlItemLogro> ().estado == "Bloqueado")
                {
                    for (int j = 0; j < logrosDesbloqueados.nombres.Length; j++)
                    {
                        if (logrosDesbloqueados.nombres[j] == logros.nombres[i])
                        {
                            listaItems[i].GetComponent <ControlItemLogro> ().desbloquearLogro();
                            break;
                        }
                    }
                }
            }
        }
        else
        {
            print("Error al listar logros desbloqueados. " + www.error);
        }
    }
Beispiel #4
0
        public Achievement GeneradorLogros()
        {
            //metodo del tipo clase Achievement(por ende retorna un objeto de esa clase)
            Achievement ach    = new Achievement(); //Creo una instancia y  la inicializo
            Logros      log    = Logros.ESPADACHIN; //Lugar de memoria del tipo enum Logros, guarda un tipo de enum
            short       logNum = (short)log;

            ach.SetTitulo(log);
            ach.SetId(logNum);
            ach.SetDescripcion(logNum);
            ach.SetRecompensa(logNum);
            return(ach);
        }
        public async Task <Logros> GetIdLogros(int id)
        {
            var items = new Logros();

            using (await aMutex.LockAsync().ConfigureAwait(false))
            {
                var query = (from p in sqliteconnection.Table <Logros>()
                             where p.id == id
                             select p);

                items = await query.FirstAsync();
            }

            return(items);
        }
Beispiel #6
0
    void Cargar()
    {
        if (File.Exists(directorioArchivo)) {
            BinaryFormatter bf = new BinaryFormatter ();
            FileStream file = File.Open (directorioArchivo, FileMode.Open);

            DatosAGuardar datos = (DatosAGuardar) bf.Deserialize (file);

            puntuacionMaxima = datos.puntuacionMaxima;
            objetos_guardados = datos.objetos_conseguidos;
            logros = datos.logros;
        } else {
            //Primera vez que se ejecuta el juego.
            puntuacionMaxima = 0;

        }
    }
Beispiel #7
0
    void Cargar()
    {
        if (File.Exists(directorioArchivo))
        {
            BinaryFormatter bf   = new BinaryFormatter();
            FileStream      file = File.Open(directorioArchivo, FileMode.Open);

            DatosAGuardar datos = (DatosAGuardar)bf.Deserialize(file);

            puntuacionMaxima  = datos.puntuacionMaxima;
            objetos_guardados = datos.objetos_conseguidos;
            logros            = datos.logros;
        }
        else
        {
            //Primera vez que se ejecuta el juego.
            puntuacionMaxima = 0;
        }
    }
        public async Task InsertLogros(Logros item)
        {
            using (await aMutex.LockAsync().ConfigureAwait(false))
            {
                var existingTodoItem = await sqliteconnection.Table <Logros>()
                                       .Where(x => x.id == item.id)
                                       .FirstOrDefaultAsync();

                if (item == null)
                {
                    await sqliteconnection.InsertAsync(item).ConfigureAwait(false);
                }
                else
                {
                    item.id = item.id;
                    await sqliteconnection.UpdateAsync(item).ConfigureAwait(false);
                }
            }
        }
Beispiel #9
0
        public void SetTitulo(Logros titulo)
        {
            string titu;

            switch (titulo)
            {
            case Logros.KILL10:
                titu = "Killer";
                break;

            case Logros.GOLD100:
                titu = "Empresario";
                break;

            case Logros.ESPADACHIN:
                titu = "Espadachin";
                break;

            default:
                titu = " ";
                break;
            }
            this.titulo = titu;
        }
Beispiel #10
0
 public DatosAGuardar(int puntuacionMaxima, Dictionary <string, int> objetos_conseguidos, Logros logros)
 {
     this.puntuacionMaxima    = puntuacionMaxima;
     this.objetos_conseguidos = objetos_conseguidos;
     this.logros = logros;
 }
Beispiel #11
0
 public DatosAGuardar(int puntuacionMaxima, Dictionary<string, int> objetos_conseguidos, Logros logros)
 {
     this.puntuacionMaxima = puntuacionMaxima;
     this.objetos_conseguidos = objetos_conseguidos;
     this.logros = logros;
 }
 public async Task DeleteLogros(Logros item)
 {
     await sqliteconnection.DeleteAsync(item);
 }