override public void Update(float deltaTime)
        {
            //if (Hi5_Interaction_Const.TestChangeState1)
            {
                if (ObjectItem.transform.parent != Hi5_Interaction_Object_Manager.GetObjectManager().transform)
                {
                    ///Debug.Log ("static palm parent");
                    ObjectItem.transform.parent = Hi5_Interaction_Object_Manager.GetObjectManager().transform;
                }
            }

            {
                if (ObjectItem.mObjectType == EObject_Type.ECommon)
                {
                    int touchIdtemp;
                    if (((!ObjectItem.IsTouchPlane()) && (!ObjectItem.IsTouchStaticObject(out touchIdtemp))))
                    {
                        //静止转自由下落
                        if (!StartY)
                        {
                            StartY = true;
                            Y      = ObjectItem.transform.position.y;
                        }
                        else
                        {
                            if (StartY)
                            {
                                if (Mathf.Abs(Y - ObjectItem.transform.position.y) > 0.2f)
                                {
                                    ObjectItem.ChangeState(E_Object_State.EMove);
                                    ObjectItem.mstatemanager.GetMoveState().SetFreeMove(null);

                                    {
                                        Hi5_Glove_Interaction_Object_Event_Data data = Hi5_Glove_Interaction_Object_Event_Data.Instance(ObjectItem.idObject,
                                                                                                                                        ObjectItem.mObjectType,
                                                                                                                                        EHandType.ENone,
                                                                                                                                        EEventObjectType.EMove);
                                        Hi5InteractionManager.Instance.GetMessage().DispenseMessage(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent, (object)data, null);
                                    }
                                    return;
                                }
                            }
                        }
                    }


                    //if (Hi5_Interaction_Const.TestPlanePhycis)
                    {
                        //Debug.Log ("static move ");
                        //静止转平面移动
                        float distance = Vector3.Distance(staticPosition, ObjectItem.transform.position);
                        if (distance > 0.008f && ObjectItem.IsTouchPlane())
                        {
                            //ObjectItem.ChangeColor (Color.green);
                            ObjectItem.ChangeState(E_Object_State.EMove);
                            if (ObjectItem.mstatemanager != null)
                            {
                                ObjectItem.mstatemanager.SetPlaneMove(null);
                            }
                            {
                                Hi5_Glove_Interaction_Object_Event_Data data = Hi5_Glove_Interaction_Object_Event_Data.Instance(ObjectItem.idObject, ObjectItem.mObjectType, EHandType.EHandLeft, EEventObjectType.EMove);
                                Hi5InteractionManager.Instance.GetMessage().DispenseMessage(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent, (object)data, null);
                            }
                        }
                    }
                }
            }


            if (ObjectItem.mObjectType == EObject_Type.EButton)
            {
                //if (!Hi5_Interaction_Const.TestModifyConstraints)
                //{
                //    ObjectItem.SetIsKinematic(true);
                //}
                //if (!Hi5_Interaction_Const.TestModifyConstraints)
                //    ObjectItem.SetIsLockYPosition(true);
            }
            int touchId;
            // Debug.Log("IsTouchStaticObject out");
            //if (ObjectItem.IsTouchStaticObject(out touchId) && !ObjectItem.IsItemTouchPlane())
            //{
            //   // Debug.Log("IsTouchStaticObject");
            //    if (touchId != -1000)
            //    {
            //       // Debug.Log("IsTouchStaticObject 1");
            //        Hi5_Glove_Interaction_Item itemTemp = Hi5_Interaction_Object_Manager.GetObjectManager().GetItemById(touchId);
            //        if (itemTemp.state == E_Object_State.EFlyLift || itemTemp.state == E_Object_State.EPinch || itemTemp.state == E_Object_State.EStatic)
            //        {
            //           // Debug.Log("IsTouchStaticObject 2");
            //            //itemTemp.gameObject.GetComponent<Collider>().material = itemTemp.planePhysicMaterial;
            //            if (itemTemp.itemColliders.Count>0)
            //            {
            //               /// Debug.Log("IsTouchStaticObject 3");
            //                foreach (Hi5_Interaction_Item_Collider itemCollider in itemTemp.itemColliders)
            //                {
            //                    if (itemCollider.GetComponent<BoxCollider>() != null)
            //                    {
            //                        float angle1 = Vector3.Angle(Hi5_Interaction_Object_Manager.GetObjectManager().transform.up, -itemCollider.transform.up);
            //                        float angle2 = Vector3.Angle(Hi5_Interaction_Object_Manager.GetObjectManager().transform.up, itemCollider.transform.right);
            //                        float angle3 = Vector3.Angle(Hi5_Interaction_Object_Manager.GetObjectManager().transform.up, itemCollider.transform.forward);
            //                        //Debug.Log("angle" + angle1);
            //                        bool isFollow = false;
            //                        if (angle1 < Hi5_Interaction_Const.FlyLiftPalmAngle || (180.0f - angle1) < Hi5_Interaction_Const.FlyLiftPalmAngle)
            //                        {
            //                            isFollow = true;
            //                        }
            //                        else if (angle2 < Hi5_Interaction_Const.FlyLiftPalmAngle || (180.0f - angle2) < Hi5_Interaction_Const.FlyLiftPalmAngle)
            //                        {
            //                            isFollow = true;
            //                        }
            //                        else if (angle3 < Hi5_Interaction_Const.FlyLiftPalmAngle || (180.0f - angle3) < Hi5_Interaction_Const.FlyLiftPalmAngle)
            //                        {
            //                            isFollow = true;
            //                        }
            //                        if (isFollow /*&& ObjectItem.transform.parent != Hi5_Interaction_Object_Manager.GetObjectManager().transform.parent*/)
            //                        {
            //                            //ObjectItem.GetComponent<Rigidbody>().useGravity = false;
            //                           // ObjectItem.transform.parent = itemCollider.transform;
            //                            //ObjectItem.GetComponent<Rigidbody>().Sleep();
            //                        }

            //                    }
            //                }
            //            }
            //        }
            //        ObjectItem.GetComponent<Rigidbody>().Sleep();
            //    }
            //}
        }
        override public void Update(float deltaTime)
        {
            if (Hi5_Interaction_Const.TestChangeState1)
            {
                if (ObjectItem.transform.parent != Hi5_Interaction_Object_Manager.GetObjectManager().transform)
                {
                    ///Debug.Log ("static palm parent");
                    ObjectItem.transform.parent = Hi5_Interaction_Object_Manager.GetObjectManager().transform;
                }
            }

            {
                if (ObjectItem.mObjectType == EObject_Type.ECommon)
                {
                    if (((!ObjectItem.IsTouchPlane()) && (!ObjectItem.IsTouchStaticObject())))
                    {
                        //Debug.Log ("Move From");
                        ObjectItem.SetIsKinematic(false);
                        ObjectItem.SetUseGravity(true);
                        ObjectItem.SetIsLockYPosition(false);
                        if (Hi5_Interaction_Const.TestPlaneStatic)
                        {
                            if (!StartY)
                            {
                                StartY = true;
                                Y      = ObjectItem.transform.position.y;
                            }
                            else
                            {
                                if (StartY)
                                {
                                    if (Mathf.Abs(Y - ObjectItem.transform.position.y) > 0.2f)
                                    {
                                        ObjectItem.mstatemanager.GetMoveState().SetFreeMove(null);
                                        ObjectItem.ChangeState(E_Object_State.EMove);
                                        {
                                            Hi5_Glove_Interaction_Object_Event_Data data = Hi5_Glove_Interaction_Object_Event_Data.Instance(ObjectItem.idObject,
                                                                                                                                            ObjectItem.mObjectType,
                                                                                                                                            EHandType.ENone,
                                                                                                                                            EEventObjectType.EMove);
                                            Hi5InteractionManager.Instance.GetMessage().DispenseMessage(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent, (object)data, null);
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            ObjectItem.mstatemanager.GetMoveState().SetFreeMove(null);
                            ObjectItem.ChangeState(E_Object_State.EMove);
                            {
                                Hi5_Glove_Interaction_Object_Event_Data data = Hi5_Glove_Interaction_Object_Event_Data.Instance(ObjectItem.idObject,
                                                                                                                                ObjectItem.mObjectType,
                                                                                                                                EHandType.ENone,
                                                                                                                                EEventObjectType.EMove);
                                Hi5InteractionManager.Instance.GetMessage().DispenseMessage(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent, (object)data, null);
                            }
                        }
                    }
                    else
                    {
                        ObjectItem.SetIsKinematic(false);
                        ObjectItem.SetIsLockYPosition(false);
                        ObjectItem.SetUseGravity(true);
                    }
                }
                else
                {
                    ObjectItem.SetIsKinematic(true);
                    ObjectItem.SetIsLockYPosition(true);
                    ObjectItem.SetUseGravity(false);
                    //ObjectItem.transform.position = new Vector3 (ObjectItem.transform.position.x,ObjectItem.Y,ObjectItem.transform.position.z);
                }
            }


            if (ObjectItem.mObjectType == EObject_Type.EButton)
            {
                ObjectItem.SetIsKinematic(true);
                ObjectItem.SetIsLockYPosition(true);
            }
        }