override protected void OnCollisionStay(Collision collision) { base.OnCollisionStay(collision); if (itemObject.mObjectType == EObject_Type.ECommon) { if (/*collision.gameObject.layer == Hi5_Interaction_Const.ThumbTailLayer() || */collision.gameObject.layer == Hi5_Interaction_Const.OtherFingerTailLayer() /*|| collision.gameObject.layer == Hi5_Interaction_Const.PalmRigidbodyLayer()*/) { if (itemObject.mstatemanager == null) { return; } // if (collision.gameObject.GetComponent<Hi5_Hand_Collider_Visible_Finger>()) { //if (Hi5_Interaction_Const.TestChangeState) { if (itemObject.mstatemanager.State == E_Object_State.EStatic || (itemObject.mstatemanager.State == E_Object_State.EMove && itemObject.mstatemanager.GetMoveState().mMoveType == Hi5ObjectMoveType.EPlaneMove)) { if (/*collision.gameObject.layer == Hi5_Interaction_Const.ThumbTailLayer() ||*/ collision.gameObject.layer == Hi5_Interaction_Const.OtherFingerTailLayer()) { if (collision.gameObject.GetComponent <Hi5_Hand_Collider_Visible_Thumb_Finger>() == null) { return; } Hi5_Hand_Visible_Finger finger = collision.gameObject.GetComponent <Hi5_Hand_Collider_Visible_Thumb_Finger>().mFinger; if (finger && (finger is Hi5_Hand_Visible_Thumb_Finger)) { if (!(finger as Hi5_Hand_Visible_Thumb_Finger).IsMoveTowardHand()) { Hi5_Hand_Visible_Hand handTemp = collision.gameObject.GetComponent <Hi5_Hand_Collider_Visible_Finger> ().mHand; itemObject.ChangeState(E_Object_State.EMove); if (itemObject.mstatemanager != null) { itemObject.mstatemanager.SetPlaneMove(collision); } { Hi5_Glove_Interaction_Object_Event_Data data = Hi5_Glove_Interaction_Object_Event_Data.Instance(itemObject.idObject, itemObject.mObjectType, handTemp.m_IsLeftHand ? EHandType.EHandLeft : EHandType.EHandRight, EEventObjectType.EMove); Hi5InteractionManager.Instance.GetMessage().DispenseMessage(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent, (object)data, null); } } } } else { } } } } } } }
public virtual void setFinger(Hi5_Hand_Visible_Hand hand, Hi5_Hand_Visible_Finger finger, Hi5_Glove_Finger_bone_Type finger_bone_Type, float zMaxAngel, float zMinAngel) { mHand = hand; mFinger = finger; mFingerBoneType = finger_bone_Type; mZMinAngel = zMinAngel; mZMaxAngel = zMaxAngel; }
public virtual void setFinger(Hi5_Hand_Visible_Hand hand, Hi5_Hand_Visible_Finger finger, Hi5_Glove_Finger_bone_Type finger_bone_Type, float zMaxAngel, float zMinAngel) { mHand = hand; //if(finger == null) mFinger = finger; mFingerBoneType = finger_bone_Type; mZMinAngel = zMinAngel; mZMaxAngel = zMaxAngel; isAttributeSet = true; }
private void AssignPNHandJoints(Transform handBase, string handPrefix, string handIn) { mFingers.Clear(); Transform temp = handBase.Search(handPrefix + "Thumb1"); m_ThumbFingerTransforms.Add(handBase.Search(handPrefix + "Thumb1")); m_ThumbFingerTransforms.Add(m_ThumbFingerTransforms[0].Find(handPrefix + "Thumb2")); m_ThumbFingerTransforms.Add(m_ThumbFingerTransforms[1].Find(handPrefix + "Thumb3")); m_ThumbFingerTransforms.Add(m_ThumbFingerTransforms[2].Find(handPrefix + "Thumb4")); Hi5_Hand_Visible_Finger tempFingerinteraction = temp.GetComponent <Hi5_Hand_Visible_Thumb_Finger>() as Hi5_Hand_Visible_Finger; if (tempFingerinteraction != null) { Hi5_Hand_Visible_Finger tempValue = tempFingerinteraction as Hi5_Hand_Visible_Finger; mFingers.Add(Hi5_Glove_Interaction_Finger_Type.EThumb, tempValue); tempFingerinteraction.AddChildNode(m_ThumbFingerTransforms, this); //tempFingerinteraction.SetHi5Message(mMessage); } temp = handBase.Search(handIn + "Index"); m_IndexFingerTransforms.Add(handBase.Search(handPrefix + "Index1")); m_IndexFingerTransforms.Add(m_IndexFingerTransforms[0].Find(handPrefix + "Index2")); m_IndexFingerTransforms.Add(m_IndexFingerTransforms[1].Find(handPrefix + "Index3")); m_IndexFingerTransforms.Add(m_IndexFingerTransforms[2].Find(handPrefix + "Index4")); tempFingerinteraction = temp.GetComponent <Hi5_Hand_Visible_Finger>(); if (tempFingerinteraction != null) { mFingers.Add(Hi5_Glove_Interaction_Finger_Type.EIndex, tempFingerinteraction); tempFingerinteraction.AddChildNode(m_IndexFingerTransforms, this); //tempFingerinteraction.SetHi5Message(mMessage); } temp = handBase.Search(handIn + "Middle"); m_MiddleFingerTransforms.Add(handBase.Search(handPrefix + "Middle1")); m_MiddleFingerTransforms.Add(m_MiddleFingerTransforms[0].Find(handPrefix + "Middle2")); m_MiddleFingerTransforms.Add(m_MiddleFingerTransforms[1].Find(handPrefix + "Middle3")); m_MiddleFingerTransforms.Add(m_MiddleFingerTransforms[2].Find(handPrefix + "Middle4")); tempFingerinteraction = temp.GetComponent <Hi5_Hand_Visible_Finger>(); if (tempFingerinteraction != null) { mFingers.Add(Hi5_Glove_Interaction_Finger_Type.EMiddle, tempFingerinteraction); tempFingerinteraction.AddChildNode(m_MiddleFingerTransforms, this); //tempFingerinteraction.SetHi5Message(mMessage); } temp = handBase.Search(handIn + "Ring"); m_RingFingerTransforms.Add(handBase.Search(handPrefix + "Ring1")); m_RingFingerTransforms.Add(m_RingFingerTransforms[0].Find(handPrefix + "Ring2")); m_RingFingerTransforms.Add(m_RingFingerTransforms[1].Find(handPrefix + "Ring3")); m_RingFingerTransforms.Add(m_RingFingerTransforms[2].Find(handPrefix + "Ring4")); tempFingerinteraction = temp.GetComponent <Hi5_Hand_Visible_Finger>(); if (tempFingerinteraction != null) { mFingers.Add(Hi5_Glove_Interaction_Finger_Type.ERing, tempFingerinteraction); tempFingerinteraction.AddChildNode(m_RingFingerTransforms, this); } temp = handBase.Search(handIn + "Pinky"); m_PinkyFingerTransforms.Add(handBase.Search(handPrefix + "Pinky1")); m_PinkyFingerTransforms.Add(m_PinkyFingerTransforms[0].Find(handPrefix + "Pinky2")); m_PinkyFingerTransforms.Add(m_PinkyFingerTransforms[1].Find(handPrefix + "Pinky3")); m_PinkyFingerTransforms.Add(m_PinkyFingerTransforms[2].Find(handPrefix + "Pinky4")); tempFingerinteraction = temp.GetComponent <Hi5_Hand_Visible_Finger>(); if (tempFingerinteraction != null) { mFingers.Add(Hi5_Glove_Interaction_Finger_Type.EPinky, tempFingerinteraction); tempFingerinteraction.AddChildNode(m_PinkyFingerTransforms, this); } }