Exemplo n.º 1
0
    void ClickObject(GuiClickRect rect, int btn)
    {
        GuiClickable component = rect.GetComponent <GuiClickable>();

        if (component != null)
        {
            for (int i = this.currClickers.Count - 1; i >= 0; i--)
            {
                if (this.currClickers[i].click == component)
                {
                    return;
                }
            }
            this.currClickers.Add(new EntityHUD.ClickTrack(component, btn));
            component.SendClick();
            if (component as GuiClickableWheel)
            {
                this.MouseMove(btn, this.mouseTag.Pos);
            }
        }
        else
        {
            Debug.LogWarning("No function bound to clicker");
        }
    }
Exemplo n.º 2
0
    bool MouseDown(int btn, Vector2 P)
    {
        List <GuiClickRect> list = this.GetClickRects();
        Camera cam = this.GetOverlayCam();

        for (int i = 0; i < list.Count; i++)
        {
            GuiClickRect guiClickRect = list[i];
            if (guiClickRect.GetActiveScreenRect(cam).Contains(P))
            {
                this.ClickObject(guiClickRect, btn);
                return(true);
            }
        }
        return(false);
    }
Exemplo n.º 3
0
 List <GuiClickRect> GetClickRects()
 {
     if (this.clickRects == null)
     {
         this.clickRects = new List <GuiClickRect>();
     }
     this.clickRects.Clear();
     base.GetComponentsInChildren <GuiClickRect>(false, this.clickRects);
     for (int i = this.clickRects.Count - 1; i >= 0; i--)
     {
         GuiClickRect guiClickRect = this.clickRects[i];
         if (guiClickRect.GetComponentInParent <GuiSelectionHandler>() != null)
         {
             this.clickRects.RemoveAt(i);
         }
     }
     return(this.clickRects);
 }
Exemplo n.º 4
0
    Rect Constrain(Rect R)
    {
        if (this._clip)
        {
            Rect worldRect = this.WorldRect;
            if (!R.Overlaps(worldRect))
            {
                return(new Rect(0f, 0f, 0f, 0f));
            }
            R.xMin = Mathf.Max(worldRect.xMin, R.xMin);
            R.xMax = Mathf.Min(worldRect.xMax, R.xMax);
            R.yMin = Mathf.Max(worldRect.yMin, R.yMin);
            R.yMax = Mathf.Min(worldRect.yMax, R.yMax);
        }
        GuiClickRect parent = this.Parent;

        if (parent != null)
        {
            return(parent.Constrain(R));
        }
        return(R);
    }