private void Reset(string messageKey, object param1, object param2, object param3, object param4)
 {
     if (mObjectType == EObject_Type.ECommon)
     {
         if (messageKey.CompareTo(Hi5_MessageKey.messageObjectReset) == 0)
         {
             transform.parent   = Hi5_Interaction_Object_Manager.GetObjectManager().transform;
             transform.position = originalPosition;
             transform.rotation = originalRotation;
             mstatemanager.ChangeState(E_Object_State.EStatic);
             if (Hi5_Interaction_Const.TestChangeState)
             {
                 Hi5_Glove_Interaction_Object_Event_Data data = Hi5_Glove_Interaction_Object_Event_Data.Instance(idObject, mObjectType, EHandType.EHandLeft, EEventObjectType.EStatic);
                 Hi5InteractionManager.Instance.GetMessage().DispenseMessage(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent, (object)data, null);
             }
             SetIsKinematic(false);
             SetIsLockYPosition(true);
             SetUseGravity(true);
         }
     }
 }
Example #2
0
        private void FreeFly(float deltaTime)
        {
            //if (Hi5_Interaction_Const.TestPlaneMoveUsePhysic)
            {
                mItem.SetUseGravity(true);
                mItem.SetIsKinematic(false);
                mItem.SetIsLockYPosition(false);

                if (Hi5_Interaction_Const.TestPlaneStatic)
                {
                    if (mItem.isTouchPlane)
                    {
                        mState.ChangeState(E_Object_State.EStatic);
                        if (Hi5_Interaction_Const.TestChangeState)
                        {
                            Hi5_Glove_Interaction_Object_Event_Data data = Hi5_Glove_Interaction_Object_Event_Data.Instance(mItem.idObject, mItem.mObjectType, EHandType.EHandLeft, EEventObjectType.EStatic);
                            Hi5InteractionManager.Instance.GetMessage().DispenseMessage(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent, (object)data, null);
                        }
                    }
                    if (mItem.mQueuePositionRecord != null)
                    {
                        Hi5_Position_Record[] records = mItem.mQueuePositionRecord.ToArray();
                        if (records != null && records.Length > 0)
                        {
                            if (records.Length - 2 > 0)
                            {
                                Vector3 offset = records [records.Length - 2].position - records [records.Length - 1].position;
                                if (Mathf.Abs(offset.x) < 0.003f && Mathf.Abs(offset.y) < 0.003f && Mathf.Abs(offset.z) < 0.003f)
                                {
                                    mState.ChangeState(E_Object_State.EStatic);
                                    if (Hi5_Interaction_Const.TestChangeState)
                                    {
                                        Hi5_Glove_Interaction_Object_Event_Data data = Hi5_Glove_Interaction_Object_Event_Data.Instance(mItem.idObject, mItem.mObjectType, EHandType.EHandLeft, EEventObjectType.EStatic);
                                        Hi5InteractionManager.Instance.GetMessage().DispenseMessage(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent, (object)data, null);
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    if (mItem.mQueuePositionRecord != null)
                    {
                        Hi5_Position_Record[] records = mItem.mQueuePositionRecord.ToArray();
                        if (records != null && records.Length > 0)
                        {
                            if (records.Length - 2 > 0)
                            {
                                Vector3 offset = records[records.Length - 2].position - records[records.Length - 1].position;
                                if (Mathf.Abs(offset.x) < 0.003f && Mathf.Abs(offset.z) < 0.003f)
                                {
                                    mState.ChangeState(E_Object_State.EStatic);
                                    if (Hi5_Interaction_Const.TestChangeState)
                                    {
                                        Hi5_Glove_Interaction_Object_Event_Data data = Hi5_Glove_Interaction_Object_Event_Data.Instance(mItem.idObject, mItem.mObjectType, EHandType.EHandLeft, EEventObjectType.EStatic);
                                        Hi5InteractionManager.Instance.GetMessage().DispenseMessage(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent, (object)data, null);
                                    }
                                }
                            }
                        }
                    }
                }


                //if (mMoveType == Hi5ObjectMoveType.EThrowMove)
                {
                    //if (mIsFlyMovePause)
                    //{
                    //    mWaitFlyPauseTime -= deltaTime;
                    //    if (mWaitFlyPauseTime < 0.0f)
                    //    {
                    //        mIsFlyMovePause = false;
                    //        mItem.SetUseGravity(true);
                    //        mItem.SetIsKinematic(false);
                    //        mWaitFlyPauseTime = Hi5_Interaction_Const.FingerColliderPinchPauseTime;
                    //    }
                    //    else
                    //    {
                    //        return;
                    //    }
                    //}
                }
            }
        }