Exemplo n.º 1
0
    //Aqui se verifica si el id del barco, (El id esta en el gameObject.name) corresponde a un barco que
    //el usuario ya compro enontonces se inhabilita el boton haciendo la peticion al servidor
    IEnumerator WaitForRequest()
    {
        if (Application.internetReachability == NetworkReachability.NotReachable)
        {//si no hay internet
            GameObject.Find("TextoErrores").GetComponent <Text>().text = "Ha ocurrido un error en el servidor vuelva mas tarde";
            yield break;
        }
        else
        {
            WWW request = new WWW("https://battleship3d.herokuapp.com/barcos?size=" + tamBarco);

            yield return(request);

            Debug.Log(request.text);
            string             encodedString = request.text;
            string             jsonString    = fixJson(encodedString);
            DecodificarBarco[] barcos        = JsonHelper.FromJson <DecodificarBarco>(jsonString);

            //foreach (var barco in barcos) {
            //Debug.Log(barco.nombre+","+barco.size+","+barco.precio);
            //}
            //Ahora buscamos los barcos que ha comprado el usuario para validar

            WWW request2 = new WWW("https://battleship3d.herokuapp.com/compras_por_usuario?id=" + Usuario.UsuarioConectado.Id + "&size=" + tamBarco);

            yield return(request2);

            string encodedString2 = request2.text;
            string jsonString2    = fixJson(encodedString2);

            DecodificarBarco[] barcosComprados = JsonHelper.FromJson <DecodificarBarco>(jsonString2);

            //foreach (var barcoComprado in barcosComprados) {
            //Debug.Log (barcoComprado.nombre + ",  " + barcoComprado.size + ",    "+barcoComprado.precio);
            //}

            ArrayList barcosDisponibles = new ArrayList();
            foreach (var barco in barcos)
            {
                bool encontrado = false;
                foreach (var barcoComprado in barcosComprados)
                {
                    if (barco.id.Equals(barcoComprado.id))
                    {
                        encontrado = true;
                    }
                }
                if (encontrado == false)
                {
                    barcosDisponibles.Add(barco);
                }
            }
            // en la busqueda anterior validamos los barcos que puede comprar el usuario
            //ahora los mostramos en UI y refrescamos
            if (!tiposCargados[tamBarco - 1])
            {
                foreach (var barco in barcosDisponibles)
                {
                    var barcoDecodificado = barco as DecodificarBarco;
                    Debug.Log(barcoDecodificado.nombre + ":" + barcoDecodificado.size + ":" + barcoDecodificado.precio);
                    GameObject m = Instantiate <GameObject>(moduloBarcoTiendaPrefab);
                    m.transform.localScale = Vector3.one;
                    m.transform.SetParent(scrollsViewContents[tamBarco - 1]);
                    ModuloBarcoTienda modulo = m.GetComponent <ModuloBarcoTienda>();

                    modulo.setNombre(barcoDecodificado.nombre);
                    modulo.BarcoID = barcoDecodificado.id;
                    modulo.Precio  = barcoDecodificado.precio;
                    modulo.tienda  = this;
                }
                tiposCargados[tamBarco - 1] = true;
            }
        }
    }
Exemplo n.º 2
0
 // Use this for initialization
 void Start()
 {
     GameObject.Find("TextoDinero").GetComponent <Text> ().text = "Dinero:" + Usuario.UsuarioConectado.Dinero;
     informacionBarco = GetComponentInParent <ModuloBarcoTienda>();
     textoPrecio.text = string.Format("Comprar ({0})", informacionBarco.Precio);
 }