コード例 #1
0
ファイル: RedirectInput.cs プロジェクト: KinensaiJP/130app
        private void pointerPressedHandler(object sender, MetaGestureEventArgs metaGestureEventArgs)
        {
            var pointer = metaGestureEventArgs.Pointer;

            if (pointer.InputSource == (IInputSource)this)
            {
                return;
            }

            var newPointer = PointerFactory.Create(pointer.Type, this);

            newPointer.CopyFrom(pointer);
            newPointer.Position = processCoords(pointer.GetPressData().RaycastHit.textureCoord);
            newPointer.Flags    = pointer.Flags | Pointer.FLAG_ARTIFICIAL | Pointer.FLAG_INTERNAL;
            addPointer(newPointer);
            pressPointer(newPointer);
            map.Add(pointer.Id, newPointer);
        }
コード例 #2
0
ファイル: RedirectInput.cs プロジェクト: KinensaiJP/130app
        public override bool CancelPointer(Pointer pointer, bool shouldReturn)
        {
            base.CancelPointer(pointer, shouldReturn);

            map.Remove(pointer.Id);
            if (shouldReturn)
            {
                HitData hit;
                if (PointerUtils.IsPointerOnTarget(pointer, transform, out hit))
                {
                    var newPointer = PointerFactory.Create(pointer.Type, this);
                    newPointer.CopyFrom(pointer);
                    newPointer.Position = processCoords(hit.RaycastHit.textureCoord);
                    addPointer(newPointer);
                    pressPointer(newPointer);
                    map.Add(pointer.Id, newPointer);
                }
            }
            return(true);
        }
コード例 #3
0
 public void PointerFactory(PointerFactory p)
 {
     pointerFactory = p;
 }