示例#1
0
 private void Updated(float deltaTime)
 {
     for (int i = 0; i < MouseButtons.Count; i++)
     {
         if (MouseButtons[i].IsDown)
         {
             if (Input.GetMouseButtonUp(i))
             {
                 MouseButtons[i].IsDown = false;
                 MouseUpSignal.Dispatch(i);
                 //Check Distance
                 if (Vector3.Distance(Input.mousePosition, MouseButtons[i].OriginMousePosition) < MouseMovementThreshhold)
                 {
                     MouseClickSignal.Dispatch(i);
                 }
             }
         }
         else
         {
             if (Input.GetMouseButtonDown(i))
             {
                 MouseButtons[i].OriginMousePosition = Input.mousePosition;
                 MouseButtons[i].IsDown = true;
                 MouseDownSignal.Dispatch(i);
             }
         }
     }
 }
示例#2
0
    public override void OnRegister()
    {
        base.OnRegister();
        Updater.UpdateCallback -= Updated;
        Updater.UpdateCallback += Updated;

        cam        = GetComponent <Camera>();
        wantedSize = cam.orthographicSize;

        mouseInputPlane = new Plane(Vector3.forward, Vector3.zero);

        MouseDownSignal.AddListener(OnMouseDown);
        MouseUpSignal.AddListener(OnMouseUp);
    }