/// <summary> /// Corrutina que activa las maquinas que forman parte del entrenamiento seleccionado. /// </summary> /// <returns></returns> IEnumerator LoadTrainingInstructions() { bool activar = false; // Preparamos la petición a la WebAPI using (UnityWebRequest www = UnityWebRequest.Get( Uri.EscapeUriString(string.Format(GameManager.WEB_API_GET_TRAINING, GameManager.ipAddress, GameManager.training)))) { // Hace la petición a la WebAPI yield return(www.SendWebRequest()); TrainingtList list = JsonUtility.FromJson <TrainingtList>(www.downloadHandler.text); // Y si la WebAPI nos da alguna respuesta if (list.training.Length != 0) { // Recorremos los entrenamientos for (int i = 0; i < list.training.Length; i++) { // Y si esta maquina se encuentra dentro del entrenamiento, lo activamos if (list.training[i].machine.Equals(tag)) { activar = true; } } } } gameObject.SetActive(activar); }
/// <summary> /// Corrutina que muestra los ejercicios que forman parte del entrenamiento seleccionado. /// </summary> /// <returns></returns> IEnumerator LogTrainingtWebAPI() { // Preparamos la petición a la WebAPI using (UnityWebRequest www = UnityWebRequest.Get( Uri.EscapeUriString(string.Format(GameManager.WEB_API_GET_TRAINING, GameManager.ipAddress, training)))) { // Hace la petición a la WebAPI yield return(www.SendWebRequest()); TrainingtList list = JsonUtility.FromJson <TrainingtList>(www.downloadHandler.text); // Destruimos todos los hijos de detail int childs = detail.transform.childCount; for (int i = childs - 1; i > 0; i--) { Destroy(detail.transform.GetChild(i).gameObject); } // Y si la WebAPI nos da alguna respuesta if (list.training.Length != 0) { detail.SetActive(true); vamos.SetActive(true); // Almacenamos el entrenamiento GameManager.training = training; // Ponemos el titulo del entrenamiento detail.GetComponentInChildren <Text>().text = "Entrenamiento " + training; // Y por cada ejercicio que tenga el entrenamiento for (int i = 0; i < list.training.Length; i++) { // Se crea el objeto para el item GameObject item = Instantiate(trainingItem); // Se asigna el texto que debe mostrar item.GetComponentInChildren <Text>().text = list.training[i].machine; // Se establece su padre que esta en la escena item.transform.SetParent(detail.transform); // Se asigna la escala del item item.GetComponent <Transform>().localScale = new Vector3(1f, 1f, 1f); // Se posiciona en la escena item.GetComponent <RectTransform>().localPosition = new Vector3(0, -((i + 1) * 20), 0); } } } }