コード例 #1
0
        void CheckSelections(MoverioTouchpadEventArgs mieArgs)
        {
            Collider[] targets = GetAffectedTargets();

            SelectionControllerEventArgs args = new SelectionControllerEventArgs(mieArgs);

            args.Device      = ControllerType.HandGesture;
            args.IsConflict  = targets.Length > 1;
            args.PointerPx   = RightCamera.WorldToScreenPoint(gameObject.transform.position);
            args.PointerPos  = gameObject.transform.position;
            args.PointerQuat = gameObject.transform.rotation;

            foreach (Collider target in targets)
            {
                target.SendMessage("Selected", args, SendMessageOptions.DontRequireReceiver);
            }

            if (targets.Length == 0 || args.IsConflict)
            {
                SelectionEventArgs seArgs = new SelectionEventArgs(args);
                seArgs.Type = SelectionEventArgs.SelectionEventType.Selected;

                MessageBroker.BroadcastAll("OnSelected", seArgs);
            }
        }
コード例 #2
0
        void OnTouchStarted(MoverioTouchpadEventArgs args)
        {
            if (!RunLocal)
            {
                return;
            }

            CheckSelections(args);
        }
コード例 #3
0
        public SelectionControllerEventArgs(MoverioTouchpadEventArgs mieArgs)
        {
            EventTime    = System.DateTime.Now;
            Device       = ControllerType.TouchPad;
            MoverioEvent = mieArgs;

            PointerPx   = Vector3.zero;
            PointerPos  = Vector3.zero;
            PointerQuat = Quaternion.Euler(0, 0, 0);

            Tag = String.Empty;

            if (MoverioEvent != null)
            {
                PointerPx = MoverioEvent.Type == MoverioTouchpadEventType.TouchStarted ? MoverioEvent.Origin : MoverioEvent.Last;
            }
        }
コード例 #4
0
        void CheckSelections(MoverioTouchpadEventArgs mieArgs)
        {
            Collider target = GetFirstAffectedTarget();

            SelectionControllerEventArgs args = new SelectionControllerEventArgs(mieArgs);

            args.Device      = ControllerType.GyroMouse;
            args.IsConflict  = false;
            args.PointerPx   = GetScreenPoint();
            args.PointerPos  = EPSONcamera.transform.position;
            args.PointerQuat = EPSONcamera.transform.rotation;

            if (target != null)
            {
                target.SendMessage("Selected", args, SendMessageOptions.DontRequireReceiver);
            }
            else
            {
                SelectionEventArgs seArgs = new SelectionEventArgs(args);
                seArgs.Type = SelectionEventArgs.SelectionEventType.Selected;

                MessageBroker.BroadcastAll("OnSelected", seArgs);
            }
        }