예제 #1
0
    // Token: 0x06004433 RID: 17459 RVA: 0x000FD968 File Offset: 0x000FBB68
    private float getValueFromMouseEvent(global::dfMouseEventArgs args)
    {
        Vector3[] corners = this.track.GetCorners();
        Vector3   vector  = corners[0];
        Vector3   vector2 = corners[(this.orientation != global::dfControlOrientation.Horizontal) ? 2 : 1];
        Plane     plane;

        plane..ctor(base.transform.TransformDirection(Vector3.back), vector);
        Ray   ray = args.Ray;
        float num = 0f;

        if (!plane.Raycast(ray, ref num))
        {
            return(this.rawValue);
        }
        Vector3 vector3 = ray.origin + ray.direction * num;

        if (args.Source == this.thumb)
        {
            vector3 += this.thumbMouseOffset;
        }
        Vector3 vector4 = global::dfScrollbar.closestPoint(vector, vector2, vector3, true);
        float   num2    = (vector4 - vector).magnitude / (vector2 - vector).magnitude;

        return(this.minValue + (this.maxValue - this.minValue) * num2);
    }
예제 #2
0
    // Token: 0x060042EF RID: 17135 RVA: 0x000F6FEC File Offset: 0x000F51EC
    private void updateItemHover(global::dfMouseEventArgs args)
    {
        if (!Application.isPlaying)
        {
            return;
        }
        Ray        ray = args.Ray;
        RaycastHit raycastHit;

        if (!base.collider.Raycast(ray, ref raycastHit, 1000f))
        {
            this.hoverIndex         = -1;
            this.hoverTweenLocation = 0f;
            return;
        }
        Vector2 vector;

        base.GetHitPosition(ray, out vector);
        float num  = base.Pivot.TransformToUpperLeft(base.Size).y + ((float)(-(float)this.itemHeight) * ((float)this.selectedIndex - this.scrollPosition) - (float)this.listPadding.top);
        float num2 = ((float)this.selectedIndex - this.scrollPosition + 1f) * (float)this.itemHeight + (float)this.listPadding.vertical;
        float num3 = num2 - this.size.y;

        if (num3 > 0f)
        {
            num += num3;
        }
        float num4 = vector.y - (float)this.listPadding.top;
        int   num5 = (int)(this.scrollPosition + num4) / this.itemHeight;

        if (num5 != this.hoverIndex)
        {
            this.hoverIndex = num5;
            this.Invalidate();
        }
    }
 // Token: 0x06004784 RID: 18308 RVA: 0x0010E6F4 File Offset: 0x0010C8F4
 protected internal override void OnMouseUp(global::dfMouseEventArgs args)
 {
     base.OnMouseUp(args);
     this.isMouseDown = false;
     if (Vector2.Distance(this.scrollPosition, this.mouseDownScrollPosition) <= 2f && this.hitTestTag(args) == this.mouseDownTag)
     {
         global::dfMarkupTag dfMarkupTag = this.mouseDownTag;
         while (dfMarkupTag != null && !(dfMarkupTag is global::dfMarkupTagAnchor))
         {
             dfMarkupTag = (dfMarkupTag.Parent as global::dfMarkupTag);
         }
         if (dfMarkupTag is global::dfMarkupTagAnchor)
         {
             base.Signal("OnLinkClicked", new object[]
             {
                 dfMarkupTag
             });
             if (this.LinkClicked != null)
             {
                 this.LinkClicked(this, dfMarkupTag as global::dfMarkupTagAnchor);
             }
         }
     }
     this.mouseDownTag            = null;
     this.mouseDownScrollPosition = this.scrollPosition;
 }
 // Token: 0x060043E4 RID: 17380 RVA: 0x000FB9F0 File Offset: 0x000F9BF0
 protected internal override void OnMouseWheel(global::dfMouseEventArgs args)
 {
     try
     {
         if (!args.Used)
         {
             float num = (this.wheelDirection != global::dfControlOrientation.Horizontal) ? ((!(this.vertScroll != null)) ? ((float)this.scrollWheelAmount) : this.vertScroll.IncrementAmount) : ((!(this.horzScroll != null)) ? ((float)this.scrollWheelAmount) : this.horzScroll.IncrementAmount);
             if (this.wheelDirection == global::dfControlOrientation.Horizontal)
             {
                 this.ScrollPosition = new Vector2(this.scrollPosition.x - num * args.WheelDelta, this.scrollPosition.y);
                 this.scrollMomentum = new Vector2(-num * args.WheelDelta, 0f);
             }
             else
             {
                 this.ScrollPosition = new Vector2(this.scrollPosition.x, this.scrollPosition.y - num * args.WheelDelta);
                 this.scrollMomentum = new Vector2(0f, -num * args.WheelDelta);
             }
             args.Use();
             base.Signal("OnMouseWheel", new object[]
             {
                 args
             });
         }
     }
     finally
     {
         base.OnMouseWheel(args);
     }
 }
예제 #5
0
 // Token: 0x0600442A RID: 17450 RVA: 0x000FD380 File Offset: 0x000FB580
 protected internal override void OnMouseDown(global::dfMouseEventArgs args)
 {
     if (args.Buttons.IsSet(global::dfMouseButtons.Left))
     {
         base.Focus();
     }
     if (args.Source == this.incButton || args.Source == this.decButton)
     {
         return;
     }
     if ((args.Source != this.track && args.Source != this.thumb) || !args.Buttons.IsSet(global::dfMouseButtons.Left))
     {
         base.OnMouseDown(args);
         return;
     }
     if (args.Source == this.thumb)
     {
         RaycastHit raycastHit;
         this.thumb.collider.Raycast(args.Ray, ref raycastHit, 1000f);
         Vector3 vector = this.thumb.transform.position + this.thumb.Pivot.TransformToCenter(this.thumb.Size * base.PixelsToUnits());
         this.thumbMouseOffset = vector - raycastHit.point;
     }
     else
     {
         this.updateFromTrackClick(args);
     }
     args.Use();
     base.Signal("OnMouseDown", new object[]
     {
         args
     });
 }
예제 #6
0
 // Token: 0x060042E4 RID: 17124 RVA: 0x000F621C File Offset: 0x000F441C
 protected internal override void OnMouseWheel(global::dfMouseEventArgs args)
 {
     base.OnMouseWheel(args);
     this.ScrollPosition = Mathf.Max(0f, this.ScrollPosition - (float)((int)args.WheelDelta * this.ItemHeight));
     this.synchronizeScrollbar();
     this.updateItemHover(args);
 }
예제 #7
0
    // Token: 0x0600446A RID: 17514 RVA: 0x000FF614 File Offset: 0x000FD814
    private float getValueFromMouseEvent(global::dfMouseEventArgs args)
    {
        Vector3[] endPoints = this.getEndPoints(true);
        Vector3   vector    = endPoints[0];
        Vector3   vector2   = endPoints[1];
        Plane     plane;

        plane..ctor(base.transform.TransformDirection(Vector3.back), vector);
        Ray   ray = args.Ray;
        float num = 0f;

        if (!plane.Raycast(ray, ref num))
        {
            return(this.rawValue);
        }
        Vector3 test    = ray.origin + ray.direction * num;
        Vector3 vector3 = global::dfSlider.closestPoint(vector, vector2, test, true);
        float   num2    = (vector3 - vector).magnitude / (vector2 - vector).magnitude;
        float   num3    = this.minValue + (this.maxValue - this.minValue) * num2;

        if (this.orientation == global::dfControlOrientation.Vertical || this.rightToLeft)
        {
            num3 = this.maxValue - num3;
        }
        return(num3);
    }
 // Token: 0x060044D7 RID: 17623 RVA: 0x001014F4 File Offset: 0x000FF6F4
 private void OnClick(global::dfControl sender, global::dfMouseEventArgs args)
 {
     if (!this.controls.Contains(args.Source))
     {
         return;
     }
     this.SelectedIndex = args.Source.ZOrder;
 }
예제 #9
0
 // Token: 0x0600442F RID: 17455 RVA: 0x000FD5B8 File Offset: 0x000FB7B8
 private void decrementPressed(global::dfControl sender, global::dfMouseEventArgs args)
 {
     if (args.Buttons.IsSet(global::dfMouseButtons.Left))
     {
         this.Value -= this.IncrementAmount;
         args.Use();
     }
 }
예제 #10
0
 // Token: 0x06003ED7 RID: 16087 RVA: 0x000E4C08 File Offset: 0x000E2E08
 protected internal override void OnMouseEnter(global::dfMouseEventArgs args)
 {
     if (!(this.parent is global::dfTabstrip) || this.State != global::dfButton.ButtonState.Focus)
     {
         this.State = global::dfButton.ButtonState.Hover;
     }
     base.OnMouseEnter(args);
 }
 // Token: 0x060044D6 RID: 17622 RVA: 0x001014B8 File Offset: 0x000FF6B8
 protected internal override void OnClick(global::dfMouseEventArgs args)
 {
     if (this.controls.Contains(args.Source))
     {
         this.SelectedIndex = args.Source.ZOrder;
     }
     base.OnClick(args);
 }
예제 #12
0
 // Token: 0x06004427 RID: 17447 RVA: 0x000FD1D4 File Offset: 0x000FB3D4
 protected internal override void OnMouseWheel(global::dfMouseEventArgs args)
 {
     this.Value += this.IncrementAmount * -args.WheelDelta;
     args.Use();
     base.Signal("OnMouseWheel", new object[]
     {
         args
     });
 }
 // Token: 0x06004783 RID: 18307 RVA: 0x0010E6A8 File Offset: 0x0010C8A8
 protected internal override void OnMouseDown(global::dfMouseEventArgs args)
 {
     base.OnMouseDown(args);
     this.mouseDownTag            = this.hitTestTag(args);
     this.mouseDownScrollPosition = this.scrollPosition;
     this.scrollMomentum          = Vector2.zero;
     this.touchStartPosition      = args.Position;
     this.isMouseDown             = true;
 }
예제 #14
0
 // Token: 0x060042E5 RID: 17125 RVA: 0x000F6264 File Offset: 0x000F4464
 protected internal override void OnMouseUp(global::dfMouseEventArgs args)
 {
     this.hoverIndex = -1;
     base.OnMouseUp(args);
     if (args is global::dfTouchEventArgs && Mathf.Abs(args.Position.y - this.touchStartPosition.y) < (float)this.itemHeight)
     {
         this.selectItemUnderMouse(args);
     }
 }
예제 #15
0
 // Token: 0x060042E6 RID: 17126 RVA: 0x000F62BC File Offset: 0x000F44BC
 protected internal override void OnMouseDown(global::dfMouseEventArgs args)
 {
     base.OnMouseDown(args);
     if (args is global::dfTouchEventArgs)
     {
         this.touchStartPosition = args.Position;
         return;
     }
     this.selectItemUnderMouse(args);
 }
예제 #16
0
    // Token: 0x06002969 RID: 10601 RVA: 0x000981D8 File Offset: 0x000963D8
    public void OnButtonClicked(global::dfControl control, global::dfMouseEventArgs mouseEvent)
    {
        int num = int.Parse(control.Tooltip);

        this.Setup(this.pageCount, num);
        if (this.OnPageSwitch != null)
        {
            this.OnPageSwitch(num);
        }
    }
 // Token: 0x060043E3 RID: 17379 RVA: 0x000FB94C File Offset: 0x000F9B4C
 protected internal override void OnMouseMove(global::dfMouseEventArgs args)
 {
     if ((args is global::dfTouchEventArgs || this.isMouseDown) && !args.Used && (args.Position - this.touchStartPosition).magnitude > 5f)
     {
         Vector2 vector = args.MoveDelta.Scale(-1f, 1f);
         this.ScrollPosition += vector;
         this.scrollMomentum  = (this.scrollMomentum + vector) * 0.5f;
         args.Use();
     }
     base.OnMouseMove(args);
 }
예제 #18
0
 // Token: 0x06003ED8 RID: 16088 RVA: 0x000E4C40 File Offset: 0x000E2E40
 protected internal override void OnMouseLeave(global::dfMouseEventArgs args)
 {
     if (this.ContainsFocus)
     {
         this.State = global::dfButton.ButtonState.Focus;
     }
     else
     {
         this.State = global::dfButton.ButtonState.Default;
     }
     base.OnMouseLeave(args);
 }
예제 #19
0
    // Token: 0x06004430 RID: 17456 RVA: 0x000FD5F0 File Offset: 0x000FB7F0
    private void updateFromTrackClick(global::dfMouseEventArgs args)
    {
        float valueFromMouseEvent = this.getValueFromMouseEvent(args);

        if (valueFromMouseEvent > this.rawValue + this.scrollSize)
        {
            this.Value += this.scrollSize;
        }
        else if (valueFromMouseEvent < this.rawValue)
        {
            this.Value -= this.scrollSize;
        }
    }
    // Token: 0x06004010 RID: 16400 RVA: 0x000EADEC File Offset: 0x000E8FEC
    protected internal override void OnMouseDown(global::dfMouseEventArgs args)
    {
        base.GetRootContainer().BringToFront();
        args.Use();
        Plane plane;

        plane..ctor(this.parent.transform.TransformDirection(Vector3.back), this.parent.transform.position);
        Ray   ray = args.Ray;
        float num = 0f;

        plane.Raycast(args.Ray, ref num);
        this.lastPosition = ray.origin + ray.direction * num;
        base.OnMouseDown(args);
    }
 // Token: 0x0600436C RID: 17260 RVA: 0x000F93D0 File Offset: 0x000F75D0
 protected internal override void OnMouseWheel(global::dfMouseEventArgs args)
 {
     try
     {
         if (this.actAsSlider)
         {
             float num = (this.maxValue - this.minValue) * 0.1f;
             this.Value += num * (float)Mathf.RoundToInt(-args.WheelDelta);
             args.Use();
         }
     }
     finally
     {
         base.OnMouseWheel(args);
     }
 }
예제 #22
0
 // Token: 0x060042E1 RID: 17121 RVA: 0x000F616C File Offset: 0x000F436C
 protected internal override void OnMouseMove(global::dfMouseEventArgs args)
 {
     base.OnMouseMove(args);
     if (!(args is global::dfTouchEventArgs))
     {
         this.updateItemHover(args);
         return;
     }
     if (Mathf.Abs(args.Position.y - this.touchStartPosition.y) < (float)(this.itemHeight / 2))
     {
         return;
     }
     this.ScrollPosition = Mathf.Max(0f, this.ScrollPosition + args.MoveDelta.y);
     this.synchronizeScrollbar();
     this.hoverIndex = -1;
 }
    // Token: 0x06004785 RID: 18309 RVA: 0x0010E7B8 File Offset: 0x0010C9B8
    protected internal override void OnMouseMove(global::dfMouseEventArgs args)
    {
        base.OnMouseMove(args);
        if (!this.allowScrolling)
        {
            return;
        }
        bool flag = args is global::dfTouchEventArgs || this.isMouseDown;

        if (flag && (args.Position - this.touchStartPosition).magnitude > 5f)
        {
            Vector2 vector = args.MoveDelta.Scale(-1f, 1f);
            this.ScrollPosition += vector;
            this.scrollMomentum  = (this.scrollMomentum + vector) * 0.5f;
        }
    }
 // Token: 0x06004051 RID: 16465 RVA: 0x000EB95C File Offset: 0x000E9B5C
 private void trigger_Click(global::dfControl control, global::dfMouseEventArgs mouseEvent)
 {
     if (mouseEvent.Source == this.triggerButton && !mouseEvent.Used)
     {
         mouseEvent.Use();
         if (this.popup == null)
         {
             this.openPopup();
         }
         else
         {
             Debug.Log("Close popup");
             this.closePopup(true);
         }
     }
 }
    // Token: 0x0600478C RID: 18316 RVA: 0x0010EAB0 File Offset: 0x0010CCB0
    private global::dfMarkupTag hitTestTag(global::dfMouseEventArgs args)
    {
        Vector2             point       = base.GetHitPosition(args) + this.scrollPosition;
        global::dfMarkupBox dfMarkupBox = this.viewportBox.HitTest(point);

        if (dfMarkupBox != null)
        {
            global::dfMarkupElement dfMarkupElement = dfMarkupBox.Element;
            while (dfMarkupElement != null && !(dfMarkupElement is global::dfMarkupTag))
            {
                dfMarkupElement = dfMarkupElement.Parent;
            }
            return(dfMarkupElement as global::dfMarkupTag);
        }
        return(null);
    }
예제 #26
0
    // Token: 0x06004461 RID: 17505 RVA: 0x000FF0F4 File Offset: 0x000FD2F4
    protected internal override void OnMouseWheel(global::dfMouseEventArgs args)
    {
        int num = (this.orientation != global::dfControlOrientation.Horizontal) ? 1 : -1;

        this.Value += this.scrollSize * args.WheelDelta * (float)num;
        args.Use();
        base.Signal("OnMouseWheel", new object[]
        {
            args
        });
        base.RaiseEvent("MouseWheel", new object[]
        {
            this,
            args
        });
    }
    // Token: 0x060043AE RID: 17326 RVA: 0x000FAC34 File Offset: 0x000F8E34
    protected internal override void OnMouseMove(global::dfMouseEventArgs args)
    {
        if (!args.Buttons.IsSet(global::dfMouseButtons.Left) || this.Edges == global::dfResizeHandle.ResizeEdge.None)
        {
            return;
        }
        args.Use();
        Ray     ray    = args.Ray;
        float   num    = 0f;
        Vector3 vector = base.GetCamera().transform.TransformDirection(Vector3.back);
        Plane   plane;

        plane..ctor(vector, this.mouseAnchorPos);
        plane.Raycast(ray, ref num);
        float   num2    = base.PixelsToUnits();
        Vector3 vector2 = ray.origin + ray.direction * num;
        Vector3 vector3 = (vector2 - this.mouseAnchorPos) / num2;

        vector3.y *= -1f;
        float num3 = this.startPosition.x;
        float num4 = this.startPosition.y;
        float num5 = num3 + this.startSize.x;
        float num6 = num4 + this.startSize.y;

        if ((this.Edges & global::dfResizeHandle.ResizeEdge.Left) == global::dfResizeHandle.ResizeEdge.Left)
        {
            num3 = Mathf.Min(this.maxEdgePos.x, Mathf.Max(this.minEdgePos.x, num3 + vector3.x));
        }
        else if ((this.Edges & global::dfResizeHandle.ResizeEdge.Right) == global::dfResizeHandle.ResizeEdge.Right)
        {
            num5 = Mathf.Min(this.maxEdgePos.x, Mathf.Max(this.minEdgePos.x, num5 + vector3.x));
        }
        if ((this.Edges & global::dfResizeHandle.ResizeEdge.Top) == global::dfResizeHandle.ResizeEdge.Top)
        {
            num4 = Mathf.Min(this.maxEdgePos.y, Mathf.Max(this.minEdgePos.y, num4 + vector3.y));
        }
        else if ((this.Edges & global::dfResizeHandle.ResizeEdge.Bottom) == global::dfResizeHandle.ResizeEdge.Bottom)
        {
            num6 = Mathf.Min(this.maxEdgePos.y, Mathf.Max(this.minEdgePos.y, num6 + vector3.y));
        }
        this.parent.Size             = new Vector2(num5 - num3, num6 - num4);
        this.parent.RelativePosition = new Vector3(num3, num4, 0f);
        if (this.parent.GetManager().PixelPerfectMode)
        {
            this.parent.MakePixelPerfect(true);
        }
    }
 // Token: 0x0600436D RID: 17261 RVA: 0x000F944C File Offset: 0x000F764C
 protected internal override void OnMouseMove(global::dfMouseEventArgs args)
 {
     try
     {
         if (this.actAsSlider)
         {
             if (args.Buttons.IsSet(global::dfMouseButtons.Left))
             {
                 this.Value = this.getValueFromMouseEvent(args);
                 args.Use();
             }
         }
     }
     finally
     {
         base.OnMouseMove(args);
     }
 }
예제 #29
0
 // Token: 0x06004429 RID: 17449 RVA: 0x000FD2C0 File Offset: 0x000FB4C0
 protected internal override void OnMouseMove(global::dfMouseEventArgs args)
 {
     if (args.Source == this.incButton || args.Source == this.decButton)
     {
         return;
     }
     if ((args.Source != this.track && args.Source != this.thumb) || !args.Buttons.IsSet(global::dfMouseButtons.Left))
     {
         base.OnMouseMove(args);
         return;
     }
     this.Value = Mathf.Max(this.minValue, this.getValueFromMouseEvent(args) - this.scrollSize * 0.5f);
     args.Use();
     base.Signal("OnMouseMove", new object[]
     {
         args
     });
 }
예제 #30
0
 // Token: 0x06004462 RID: 17506 RVA: 0x000FF168 File Offset: 0x000FD368
 protected internal override void OnMouseMove(global::dfMouseEventArgs args)
 {
     if (!args.Buttons.IsSet(global::dfMouseButtons.Left))
     {
         base.OnMouseMove(args);
         return;
     }
     this.Value = this.getValueFromMouseEvent(args);
     args.Use();
     base.Signal("OnMouseMove", new object[]
     {
         args
     });
     base.RaiseEvent("MouseMove", new object[]
     {
         this,
         args
     });
 }