private Base3dInterface GetClickObj(Ray ray, TriggerMethod triggerMethod = TriggerMethod.Mouse)
        {
            Base3dInterface base3D = null;
            RaycastHit      hit;

            if (Physics.Raycast(ray, out hit, rayDistance, mask))
            {
                if (base3dDict.ContainsKey(hit.collider.gameObject))
                {
                    base3D = base3dDict[hit.collider.gameObject];
                    if (!base3D.RaycastTarget)
                    {
                        return(null);
                    }
                    switch (base3D.statusEnum3d)
                    {
                    case StatusEnum3d.Highlight:
                        if (clickCheck.CheckTiggherDown(triggerMethod))
                        {
                            base3D.OnPresseDown();
                        }
                        break;

                    case StatusEnum3d.Normal:
                        if (clickCheck.CheckTiggherDown(triggerMethod))
                        {
                            base3D.OnPresseDown();
                        }
                        else
                        {
                            base3D.OnHighlight();
                        }
                        break;

                    case StatusEnum3d.Pressed:
                        if (clickCheck.CheckTiggherUp(triggerMethod))
                        {
                            base3D.OnPresseUp();
                        }
                        break;
                    }
                }
            }
            return(base3D);
        }
        private void CheckClick()
        {
            Base3dInterface base3Dc = null;
            Base3dInterface base3Dr = null;
            Base3dInterface base3Dl = null;

            switch (triggerMethod)
            {
            case TriggerMethod.Mouse:
                base3Dc = GetMouseClick();
                break;

            case TriggerMethod.VR_Both:
                base3Dl = GetRightHandClick();
                base3Dr = GetLeftHandClick();
                break;

            case TriggerMethod.VR_Left:
                base3Dl = GetLeftHandClick();
                break;

            case TriggerMethod.VR_Right:
                base3Dr = GetRightHandClick();
                break;
            }

            foreach (var base3dObj in base3dDict.Values)
            {
                if (base3dObj != base3Dl && base3dObj != base3Dr && base3dObj != base3Dc)
                {
                    switch (base3dObj.statusEnum3d)
                    {
                    case StatusEnum3d.Highlight:
                        base3dObj.OnNormal();
                        break;

                    case StatusEnum3d.Pressed:
                        base3dObj.OnNormal();
                        break;
                    }
                }
            }
        }