//以一个物体为距离基准并修正高度后的世界坐标
        public static Vector3 GetFingerTargetWolrdPos(Lean.Touch.LeanFinger finger, Vector3 posSrc, float fixY)
        {
            var pos = finger.GetWorldPosition(Vector3.Distance(CameraManager.Instance.MainCamera.transform.position, posSrc), CameraManager.Instance.MainCamera);

            pos.y = fixY;
            return(pos);
        }
Beispiel #2
0
 void Play(Lean.Touch.LeanFinger finger)
 {
     backgroundImage.enabled = false;
     titleImage.enabled      = false;
     titleText.enabled       = false;
     tapText.enabled         = false;
     DRunner.Scenes.GameController.Instance.Play();
 }
Beispiel #3
0
        private void OnInputUp(Lean.Touch.LeanFinger finger)
        {
            //ignore finger up that happened over the ui
            //if (finger.StartedOverGui) { return; }

            if (this.SelectionSystem.Dragging)
            {
                this.SelectionSystem.EndDrag();
            }
        }
Beispiel #4
0
 private bool IgnoreInput(Lean.Touch.LeanFinger finger)
 {
     //if input does not belong to filter
     if (!this.InputFilter.GetFingers().Contains(finger))
     {
         return(true);
     }
     //if input is over gui or multiple fingers are used, ignore
     if (finger.StartedOverGui || Lean.Touch.LeanTouch.Fingers.Count > 1)
     {
         return(true);
     }
     return(false);
 }
Beispiel #5
0
        private void OnInputDown(Lean.Touch.LeanFinger finger)
        {
            //if (this.IgnoreInput(finger)) return;

            if (this.RightFilter.GetFingers().Contains(finger))
            {
                this.PuzzleEditor.RotateItem();
            }

            //if double click delete
            //if (Input.GetKeyDown(KeyCode.Mouse1))
            ////if (this.SelectionSystem.DoubleClick())
            //{
            //}
            //else if (!this.SelectionSystem.Dragging && this.SelectionSystem.SomethingSelected())
            //{
            //    this.SelectionSystem.PrepareDrag();
            //}
        }
Beispiel #6
0
        private void OnInputDrag(Lean.Touch.LeanFinger finger)
        {
            if (this.IgnoreInput(finger))
            {
                return;
            }

            //Drag Item
            //if (this.SelectionSystem.Dragging)
            //{
            //    this.PuzzleEditor.MoveItem();
            //}
            //if something is selected prepare drag
            //else if (this.SelectionSystem.SomethingSelected())
            //if (this.SelectionSystem.SomethingSelected())
            //{
            //    this.SelectionSystem.PrepareDrag();
            //}
            if (!this.SelectionSystem.Dragging && this.SelectionSystem.SomethingSelected())
            {
                this.SelectionSystem.PrepareDrag();
            }
        }
 public static Vector3 GetFingerTargetWolrdPos(Lean.Touch.LeanFinger finger, Vector3 posSrc)
 {
     return(finger.GetWorldPosition(Vector3.Distance(CameraManager.Instance.MainCamera.transform.position, posSrc), CameraManager.Instance.MainCamera));
 }
        public static Vector3 GetFingerTargetWolrdPos(Lean.Touch.LeanFinger finger, GameObject objTarget)
        {
            var pos = finger.GetWorldPosition(Vector3.Distance(CameraManager.Instance.MainCamera.transform.position, objTarget.transform.position), CameraManager.Instance.MainCamera);

            return(pos);
        }
 public static Vector3 GetFingerTargetWolrdPos(Lean.Touch.LeanFinger finger, GameObject objTarget, float fixY)
 {
     return(GetFingerTargetWolrdPos(finger, objTarget.transform.position, fixY));
 }
Beispiel #10
0
        public void Paint(FINGER finger, bool down, bool up)
        {
            var link = GetLink(finger);
            var head = finger.GetSmoothScreenPosition(0.0f);

            if (spacing > 0.0f)
            {
                if (down == true)
                {
                    if (storeStates == true)
                    {
                        P3dStateManager.StoreAllStates();
                    }

                    PaintAt(link, head, false, finger.Pressure, link);
                }

                var steps = Mathf.Max(1, Mathf.FloorToInt(finger.SmoothScreenPositionDelta));
                var step  = P3dHelper.Reciprocal(steps);

                for (var i = 0; i <= steps; i++)
                {
                    var next = finger.GetSmoothScreenPosition(Mathf.Clamp01(i * step));
                    var dist = Vector2.Distance(head, next);
                    var gaps = Mathf.FloorToInt((link.Distance + dist) / spacing);

                    for (var j = 0; j < gaps; j++)
                    {
                        var remainder = spacing - link.Distance;

                        head = Vector2.MoveTowards(head, next, remainder);

                        PaintAt(link, head, false, finger.Pressure, link);

                        dist -= remainder;

                        link.Distance = 0.0f;
                    }

                    link.Distance += dist;
                    head           = next;
                }
            }
            else
            {
                var preview = true;

                if (showPreview == true)
                {
                    if (spacing == 0.0f)                     // Once
                    {
                        if (up == true)
                        {
                            if (storeStates == true)
                            {
                                P3dStateManager.StoreAllStates();
                            }

                            preview = false;
                        }
                    }
                    else                     // Every frame
                    {
                        if (storeStates == true && down == true)
                        {
                            P3dStateManager.StoreAllStates();
                        }

                        preview = false;
                    }
                }
                else
                {
                    if (spacing == 0.0f)                     // Once
                    {
                        if (down == true)
                        {
                            if (storeStates == true)
                            {
                                P3dStateManager.StoreAllStates();
                            }
                        }
                        else
                        {
                            return;
                        }
                    }
                    else                     // Every frame
                    {
                        if (storeStates == true && down == true)
                        {
                            P3dStateManager.StoreAllStates();
                        }
                    }

                    preview = false;
                }

                PaintAt(link, head, preview, finger.Pressure, link);
            }

            if (up == true)
            {
                BreakHits(link);

                if (draw == DrawType.PointsIn3DFilled)
                {
                    PaintGridOfPoints(link);
                }

                link.Clear();
            }
        }
Beispiel #11
0
 /// <summary>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</summary>
 public void RemoveFinger(Lean.Touch.LeanFinger finger)
 {
     Use.RemoveFinger(finger);
 }
Beispiel #12
0
 /// <summary>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</summary>
 public void AddFinger(Lean.Touch.LeanFinger finger)
 {
     Use.AddFinger(finger);
 }
 void onFingerSwiped(Lean.Touch.LeanFinger finger)
 {
     _selectedIngredientController?.SwipeBounce(finger.SwipeScaledDelta);
 }
Beispiel #14
0
 protected virtual void OnFingerUp(Lean.Touch.LeanFinger finger)
 {
 }