UnityEditor.LookDevEnvironmentWindow.HandleMouseInput C# (CSharp) Method

HandleMouseInput() private method

private HandleMouseInput ( ) : void
return void
        private void HandleMouseInput()
        {
            List<CubemapInfo> hdriList = this.m_LookDevView.envLibrary.hdriList;
            Vector2 pos = new Vector2(Event.current.mousePosition.x, Event.current.mousePosition.y + this.m_ScrollPosition.y);
            Event current = Event.current;
            EventType typeForControl = current.GetTypeForControl(this.m_LookDevView.hotControl);
            switch (typeForControl)
            {
                case EventType.MouseUp:
                    if (this.m_SelectedCubemap != null)
                    {
                        Rect gUIRect = this.m_GUIRect;
                        gUIRect.yMax += 16f;
                        if (!gUIRect.Contains(Event.current.mousePosition))
                        {
                            break;
                        }
                        int insertionIndex = this.IsPositionInInsertionArea(pos);
                        if (insertionIndex == -1)
                        {
                            int num2 = this.IsPositionInThumbnailArea(pos);
                            if ((num2 != -1) && this.m_LookDevView.config.enableShadowCubemap)
                            {
                                Undo.RecordObject(this.m_LookDevView.envLibrary, "Update shadow cubemap");
                                CubemapInfo info2 = this.m_LookDevView.envLibrary.hdriList[num2];
                                if (info2 != this.m_SelectedCubemapInfo)
                                {
                                    info2.SetCubemapShadowInfo(this.m_SelectedCubemapInfo);
                                }
                                this.m_LookDevView.envLibrary.dirty = true;
                            }
                        }
                        else
                        {
                            this.ResetShadowCubemap();
                            this.m_LookDevView.envLibrary.InsertHDRI(this.m_SelectedCubemap, insertionIndex);
                        }
                        this.CancelSelection();
                    }
                    break;

                case EventType.MouseDrag:
                    if (this.m_SelectedCubeMapOffsetIndex != -1)
                    {
                        Undo.RecordObject(this.m_LookDevView.envLibrary, "");
                        CubemapInfo info = hdriList[this.m_SelectedCubeMapOffsetIndex];
                        info.angleOffset = this.ComputeAngleOffsetFromMouseCoord(pos) + this.m_SelectedCubeMapOffsetValue;
                        this.m_LookDevView.envLibrary.dirty = true;
                        Event.current.Use();
                    }
                    if (this.m_SelectedCubemapInfo != null)
                    {
                        if (this.IsPositionInInsertionArea(pos) == -1)
                        {
                            this.m_HoveringCubeMapIndex = this.IsPositionInThumbnailArea(pos);
                        }
                        else
                        {
                            this.m_HoveringCubeMapIndex = -1;
                        }
                    }
                    this.m_LookDevView.Repaint();
                    return;

                case EventType.KeyDown:
                    if (Event.current.keyCode == KeyCode.Escape)
                    {
                        this.CancelSelection();
                        this.m_LookDevView.Repaint();
                    }
                    return;

                case EventType.Repaint:
                    if (this.m_SelectedCubeMapOffsetIndex != -1)
                    {
                        EditorGUIUtility.AddCursorRect(this.m_displayRect, MouseCursor.SlideArrow);
                    }
                    return;

                case EventType.DragUpdated:
                {
                    bool flag = false;
                    foreach (Object obj3 in DragAndDrop.objectReferences)
                    {
                        Cubemap cubemap2 = obj3 as Cubemap;
                        if (cubemap2 != null)
                        {
                            flag = true;
                        }
                    }
                    DragAndDrop.visualMode = !flag ? DragAndDropVisualMode.Rejected : DragAndDropVisualMode.Link;
                    if (flag)
                    {
                        this.m_DragBeingPerformed = true;
                    }
                    current.Use();
                    return;
                }
                case EventType.DragPerform:
                {
                    int num3 = this.IsPositionInInsertionArea(pos);
                    foreach (Object obj2 in DragAndDrop.objectReferences)
                    {
                        Cubemap cubemap = obj2 as Cubemap;
                        if (cubemap != null)
                        {
                            this.m_LookDevView.envLibrary.InsertHDRI(cubemap, num3);
                        }
                    }
                    DragAndDrop.AcceptDrag();
                    this.m_DragBeingPerformed = false;
                    current.Use();
                    return;
                }
                default:
                    if (typeForControl == EventType.DragExited)
                    {
                    }
                    return;
            }
            this.m_LookDevView.Repaint();
            if ((this.m_SelectedCubeMapOffsetIndex != -1) && (Mathf.Abs(hdriList[this.m_SelectedCubeMapOffsetIndex].angleOffset) <= 10f))
            {
                Undo.RecordObject(this.m_LookDevView.envLibrary, "");
                hdriList[this.m_SelectedCubeMapOffsetIndex].angleOffset = 0f;
                this.m_LookDevView.envLibrary.dirty = true;
            }
            this.m_SelectedCubemapInfo = null;
            this.m_SelectedShadowCubemapOwnerInfo = null;
            this.m_SelectedLightIconIndex = -1;
            this.m_SelectedShadowInfo = null;
            this.m_SelectedCubeMapOffsetIndex = -1;
            this.m_HoveringCubeMapIndex = -1;
            this.m_SelectedCubeMapOffsetValue = 0f;
            GUIUtility.hotControl = 0;
        }