private void GetHandyFingerReferences() { _wrist = transform.Find("Wrist").GetComponent <HandyGripBone>(); _palm = transform.Find("Palm").GetComponent <HandyGripBone>(); _thumb = new HandyGripThumb(transform.Find("Thumb").GetComponent <HandyGripThumbTip>()); var thumbDist = transform.Find("Thumb").transform.Find("ThumbDistal"); _thumb.SetBone(BoneType.Distal, thumbDist.GetComponent <HandyGripBone>()); var thumbProx = thumbDist.transform.Find("ThumbProximal"); _thumb.SetBone(BoneType.Proximal, thumbProx.GetComponent <HandyGripBone>()); _thumb.SetBone(BoneType.Metacarpal, thumbProx.transform.Find("ThumbMetacarpal").GetComponent <HandyGripBone>()); _thumb.SetActive(true); string[] fingerTransforms = { "Index", "Middle", "Ring", "Pinky" }; for (int i = 1; i <= fingerCount; i++) { _fingers.Insert(i - 1, new HandyGripFinger(transform.Find(fingerTransforms[i - 1]).GetComponent <HandyGripFingerTip>(), (FingerType)i - 1)); var distal = transform.Find(fingerTransforms[i - 1]).transform.Find(fingerTransforms[i - 1] + "Distal"); _fingers[i - 1].SetBone(BoneType.Distal, distal.GetComponent <HandyGripBone>()); var proximal = distal.transform.Find(fingerTransforms[i - 1] + "Proximal"); _fingers[i - 1].SetBone(BoneType.Proximal, proximal.GetComponent <HandyGripBone>()); _fingers[i - 1].SetBone(BoneType.Metacarpal, proximal.transform.Find(fingerTransforms[i - 1] + "Metacarpal").GetComponent <HandyGripBone>()); _fingers[i - 1].SetActive(true); } for (int i = 1; i <= _maximumFingers; i++) { var hgft = transform.Find(fingerTransforms[i - 1]).GetComponent <HandyGripFingerTip>(); if (i < fingerCount) { _fingers.Insert(i - 1, new HandyGripFinger(transform.Find(fingerTransforms[i - 1]).GetComponent <HandyGripFingerTip>(), (FingerType)i - 1)); var distal = transform.Find(fingerTransforms[i - 1]).transform.Find(fingerTransforms[i - 1] + "Distal"); _fingers[i - 1].SetBone(BoneType.Distal, distal.GetComponent <HandyGripBone>()); var proximal = distal.transform.Find(fingerTransforms[i - 1] + "Proximal"); _fingers[i - 1].SetBone(BoneType.Proximal, proximal.GetComponent <HandyGripBone>()); _fingers[i - 1].SetBone(BoneType.Metacarpal, proximal.transform.Find(fingerTransforms[i - 1] + "Metacarpal").GetComponent <HandyGripBone>()); _fingers[i - 1].SetActive(true); } else { hgft.transform.position = startingNullTransform.position; } } }
public void SetBone(BoneType bt, HandyGripBone hgb) { _bones.Insert((int)bt, hgb); }