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