// Token: 0x06000934 RID: 2356 RVA: 0x0003A754 File Offset: 0x00038954 public void DrawSlot <T>(Rect rect, T item, Action <int, T> onDropAction = null, Color?color = null, bool isItemList = false) where T : IDragSlot { int controlID = GUIUtility.GetControlID(DragAndDrop._itemSlotButtonHash, FocusType.Native); if ((ApplicationDataManager.Channel == ChannelType.Android || ApplicationDataManager.Channel == ChannelType.IPad || ApplicationDataManager.Channel == ChannelType.IPhone) && Event.current.GetTypeForControl(controlID) == EventType.MouseDown && isItemList) { rect.width = 50f; } switch (Event.current.GetTypeForControl(controlID)) { case EventType.MouseDown: if (Event.current.type != EventType.Used && rect.Contains(Event.current.mousePosition)) { GUIUtility.hotControl = controlID; Event.current.Use(); } break; case EventType.MouseUp: this.MouseUp <T>(rect, controlID, item.Id, onDropAction); break; case EventType.MouseDrag: if (GUIUtility.hotControl == controlID) { Vector2 vector = GUIUtility.GUIToScreenPoint(new Vector2(rect.x, rect.y)); this._draggedControlRect = new Rect(vector.x, vector.y, rect.width, rect.height); this._dragBegin = true; this.DraggedItem = item; this.CurrentId = GUIUtility.hotControl; GUIUtility.hotControl = 0; Event.current.Use(); } break; case EventType.Repaint: if (color != null) { GUI.color = color.Value; BlueStonez.loadoutdropslot_highlight.Draw(rect, GUIContent.none, controlID); GUI.color = Color.white; } break; } }
// Token: 0x06000932 RID: 2354 RVA: 0x0003A59C File Offset: 0x0003879C private void OnGui() { if (this._releaseDragItem) { this._releaseDragItem = false; this.CurrentId = 0; this.DraggedItem = null; } if (Event.current.type == EventType.MouseUp) { this._releaseDragItem = true; } if (this.IsDragging) { if (this._dragBegin) { this._dragBegin = false; if (this.OnDragBegin != null) { this.OnDragBegin(this.DraggedItem); } UnityRuntime.StartRoutine(this.StartDragZoom(0f, 1f, 1.25f, 0.1f, 0.8f)); } else { if (!this._isZooming) { this._dragScalePivot = GUIUtility.ScreenToGUIPoint(Event.current.mousePosition); } GUIUtility.ScaleAroundPivot(new Vector2(this._zoomMultiplier, this._zoomMultiplier), this._dragScalePivot); GUI.backgroundColor = new Color(1f, 1f, 1f, this._alphaValue); GUI.matrix = Matrix4x4.identity; this.DraggedItem.Item.DrawIcon(new Rect(this._dragScalePivot.x - 24f, this._dragScalePivot.y - 24f, 48f, 48f)); } } }