private GameObject ChooseJoint() { GameObject retval; if (activeFinger != fingers[5]) { FingerController fc = activeFinger.GetComponent <FingerController>(); if (activeJoint == 0) { retval = fc.proximalPhalange; } else if (activeJoint == 1) { retval = fc.middlePhalange; } else { retval = fc.distalPhalange; } } else { retval = fingers[5]; } return(retval); }
public string GenerateInteractionStream() { // Initialize string retstr = ""; // For each finger, add to the string foreach (GameObject finger in handController.fingers) { FingerController fc = finger.GetComponent <FingerController>(); // Add proximal retstr += (fc.jointControllers[0].isInteracting ? 1 : 0) * fc.jointControllers[0].forcePercent; //retstr += ","; // Link proximal and distal int middleForce = (fc.jointControllers[1].isInteracting ? 1 : 0) * fc.jointControllers[1].forcePercent; int distalForce = (fc.jointControllers[2].isInteracting ? 1 : 0) * fc.jointControllers[2].forcePercent; retstr += (Mathf.Max(middleForce, distalForce)); //retstr += ","; } //string retstr1 = retstr.Remove(retstr.Length - 1, 1); return(retstr); }
public IEnumerator MiddleDistalJointInteractionTriggers() { // Initialize FingerController fingerController = handController.middleFinger.GetComponent <FingerController>(); GameObject joint = fingerController.distalPhalange; BoxCollider interactionPad = joint.GetComponent <BoxCollider>(); // Spawn a collider on the interaction pad testObj = new GameObject(); testObj.AddComponent <BoxCollider>(); testObj.transform.position = interactionPad.transform.position; // Allow interaction to occur yield return(new WaitForFixedUpdate()); // Check to see if the interaction happened Assert.True(joint.GetComponent <JointController>().isInteracting); }
public void SpawnFinger(int zone) { lastPress = 0; tutorialZone = zone; if (finger == null) { finger = GameObjectUtils.AddChildGUI(mainCanvas.gameObject, pointerPrefab).GetComponent <FingerController>(); finger.transform.SetSiblingIndex(2); } else { LeanTween.cancel(finger.gameObject); } if (tutorialZone == 3) { finger.transform.position = GetCorrectTransform().position; //GetButtonTransform((int)assemblyLineController.PeekFirstItem().ItemType).transform.position; } else { finger.transform.position = GetButtonTransform(tutorialZone).position; } multipleFinger = finger.RepeatShake(3 - tutorialZone, new Vector3(0, 20)); StartCoroutine(multipleFinger); }
public IEnumerator ThumbMiddleJointInteractionDisengages() { // Initialize FingerController fingerController = handController.Thumb.GetComponent <FingerController>(); GameObject joint = fingerController.middlePhalange; BoxCollider interactionPad = joint.GetComponent <BoxCollider>(); // Spawn a collider on the interaciton pad testObj = new GameObject(); testObj.AddComponent <BoxCollider>(); testObj.transform.position = interactionPad.transform.position; // Allow interaction to occur yield return(new WaitForFixedUpdate()); // Teleport the collider away testObj.transform.position += new Vector3(50, 50, 50); // Allow for another interaciton to occur yield return(new WaitForFixedUpdate()); // Check to see if the interaction flag was removed Assert.False(joint.GetComponent <JointController>().isInteracting); }
private void Awake() { Instance = this; }