1
0
Переглянути джерело

Fix issue with GUI scrolling affecting camera zoom

habeebweeb 4 роки тому
батько
коміт
2562252c31

+ 20 - 13
MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.Gui.cs

@@ -115,11 +115,13 @@ namespace CM3D2.MultipleMaids.Plugin
                 GameMain.Instance.MainCamera.SetControl(true);
                 if (!sceneFlg && !faceFlg && !poseFlg && !kankyoFlg && !kankyo2Flg && !isF6 && okFlg)
                 {
-                    if (Input.GetAxis("Mouse ScrollWheel") != 0.0)
+                    if (Input.mouseScrollDelta.y != 0f)
                     {
-                        GameMain.Instance.MainCamera.SetControl(!rectWin.Contains(new Vector2(Input.mousePosition.x,
-                                                                                               Screen.height
-                                                                                              - Input.mousePosition.y)));
+                        if (rectWin.Contains(Event.current.mousePosition))
+                        {
+                            GameMain.Instance.MainCamera.SetControl(false);
+                            Input.ResetInputAxes();
+                        }
                     }
 
                     rectWin = GUI.Window(129, rectWin, MaidCallWindow, "", style);
@@ -130,10 +132,11 @@ namespace CM3D2.MultipleMaids.Plugin
 
                     saveManagerRect = GUI.Window(131, saveManagerRect, SaveManagerWindow, "", style);
 
-                    if (Input.GetAxis("Mouse ScrollWheel") != 0f)
+                    if (Input.mouseScrollDelta.y != 0f)
                     {
                         if (saveManagerRect.Contains(Event.current.mousePosition))
                         {
+                            GameMain.Instance.MainCamera.SetControl(false);
                             Input.ResetInputAxes();
                         }
                     }
@@ -147,7 +150,7 @@ namespace CM3D2.MultipleMaids.Plugin
                         rect = new Rect(0.0f, 0.0f, GetPix(170), GetPix(36));
                         rect.x = rectWin.x;
                         rect.y = rectWin.y + GetPix(64 + 50 * index);
-                        if (rect.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y)))
+                        if (rect.Contains(Event.current.mousePosition))
                         {
                             dispNo = index + 1;
                             break;
@@ -234,10 +237,11 @@ namespace CM3D2.MultipleMaids.Plugin
                     if (bgmCombo.isClickedComboButton || bgCombo.isClickedComboButton || doguCombo.isClickedComboButton
                         || parCombo.isClickedComboButton)
                     {
-                        if (Input.GetAxis("Mouse ScrollWheel") != 0f)
+                        if (Input.mouseScrollDelta.y != 0f)
                         {
                             if (rectWin.Contains(Event.current.mousePosition))
                             {
+                                GameMain.Instance.MainCamera.SetControl(false);
                                 Input.ResetInputAxes();
                             }
                         }
@@ -253,16 +257,17 @@ namespace CM3D2.MultipleMaids.Plugin
                 }
                 else if (kankyo2Flg)
                 {
-                    if (Input.GetAxis("Mouse ScrollWheel") != 0f)
+                    if (Input.mouseScrollDelta.y != 0f)
                     {
                         if (rectWin.Contains(Event.current.mousePosition))
                         {
+                            GameMain.Instance.MainCamera.SetControl(false);
                             Input.ResetInputAxes();
                         }
                     }
 
                     if (!yotogiFlg && sceneLevel != 3 && sceneLevel != 5
-                        && rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y))
+                        && rectWin.Contains(Event.current.mousePosition)
                         && Input.GetMouseButtonDown(0))
                     {
                         Input.ResetInputAxes();
@@ -274,16 +279,17 @@ namespace CM3D2.MultipleMaids.Plugin
                 {
                     if (poseGroupCombo.isClickedComboButton || poseCombo.isClickedComboButton || itemCombo.isClickedComboButton)
                     {
-                        if (Input.GetAxis("Mouse ScrollWheel") != 0f)
+                        if (Input.mouseScrollDelta.y != 0f)
                         {
                             if (rectWin.Contains(Event.current.mousePosition))
                             {
+                                GameMain.Instance.MainCamera.SetControl(false);
                                 Input.ResetInputAxes();
                             }
                         }
                     }
                     else if (!yotogiFlg && sceneLevel != 3 && sceneLevel != 5
-                             && rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y))
+                             && rectWin.Contains(Event.current.mousePosition)
                              && Input.GetMouseButtonDown(0))
                     {
                         Input.ResetInputAxes();
@@ -295,16 +301,17 @@ namespace CM3D2.MultipleMaids.Plugin
                 {
                     if (faceCombo.isClickedComboButton)
                     {
-                        if (Input.GetAxis("Mouse ScrollWheel") != 0f)
+                        if (Input.mouseScrollDelta.y != 0f)
                         {
                             if (rectWin.Contains(Event.current.mousePosition))
                             {
+                                GameMain.Instance.MainCamera.SetControl(false);
                                 Input.ResetInputAxes();
                             }
                         }
                     }
                     else if (!yotogiFlg && sceneLevel != 3 && sceneLevel != 5
-                             && rectWin.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y))
+                             && rectWin.Contains(Event.current.mousePosition)
                              && Input.GetMouseButtonDown(0))
                     {
                         Input.ResetInputAxes();