// Fait tourner la main et l'avant-bras vers la gauche public void Gauche() { if (Activation.RetourneActivation() == false) // Si le Toggle des informations des os n'est pas activé { rotationy = 2; // prend la valeur 2 PositionDeTous.transform.Rotate(0, rotationy, 0); // rotation de l'avant-bras et de la main vers la gauche } }
// Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0)) // Regarde si la bouton droite de la souris a été appuyé { RaycastHit hit; // Prend les valeurs du raycast Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); // Prend le rayon qui va de la caméra principale à un point d'écran if (Physics.Raycast(ray, out hit)) // Si le rayon croise un collisonneur(GameObject), il retourne vrai, sinon il retourne faux { // Si l'utilisateur clique sur le poignet flexion, si le Toggle d'information n'est pas activer et si la main et l'avant-bras n'ont pas subis de rotation if (hit.transform.tag == "PoignetPlie" && Activation.RetourneActivation() == false && ToutLaRotation.transform.rotation == RotationInitiale) { if (CalAngle1 >= AngleMin) // Si l'angle de flexion calculé est plus grand ou égal à l'angle max de la flexion { variablex = -3; // prend la valeur de -3 Poignet.transform.Rotate(variablex, 0, 0); // rotation du poignet } else { MessageLimite1.SetActive(true); // Active le MessageLimite1 StartCoroutine(DetMessageLimite()); // Débute la fonction DetMessageLimite comme une coroutine qui peut arrêter son exécution } } // Si l'utilisateur clique sur le poignet extension, si le Toggle d'information n'est pas activer et si la main et l'avant-bras n'ont pas subis de rotation if (hit.transform.tag == "PoignetDeplie" && Activation.RetourneActivation() == false && ToutLaRotation.transform.rotation == RotationInitiale) { if (CalAngle2 <= AngleMax) // Si l'angle d'extension calculé est plus petit ou égal à l'angle max de l'extension { variablex = 3; // prend la valeur de 3 Poignet.transform.Rotate(variablex, 0, 0); // rotation du poignet } else { MessageLimite2.SetActive(true); // Active le MessageLimite2 StartCoroutine(DetMessageLimite()); // Débute la fonction DetMessageLimite comme une coroutine qui peut arrêter son exécution } } } } // Calcul la valeur de l'angle de flexion et d'extension CalAngle1 = (Poignet.transform.rotation.x) * 100; CalAngle2 = (Poignet.transform.rotation.x) * 100; }