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"); } }
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); }
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); }
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); }