From 6c731523126c014d3cdfbbab61f4ee185b9685a3 Mon Sep 17 00:00:00 2001
From: Stefan Richter <o-s-r1993@web.de>
Date: Mon, 13 May 2024 15:36:59 +0200
Subject: [PATCH] Bugfix for Cursor Visibility.

---
 .../Prefabs/UI/NetwMenu/OptionsM.prefab       | 296 ++++++++++++++++++
 Assets/Scenes/Menus/LaunchMenu.unity          |   8 +-
 Assets/Scripts/UI/HideUI.cs                   |  19 +-
 Assets/Scripts/UI/HideUI_mobile.cs            |  19 +-
 .../Scripts/UI/NetwMenu/updateMouseCursor.cs  |   9 +-
 5 files changed, 337 insertions(+), 14 deletions(-)

diff --git a/Assets/Resources/Prefabs/UI/NetwMenu/OptionsM.prefab b/Assets/Resources/Prefabs/UI/NetwMenu/OptionsM.prefab
index e54aeb49..3721bc37 100644
--- a/Assets/Resources/Prefabs/UI/NetwMenu/OptionsM.prefab
+++ b/Assets/Resources/Prefabs/UI/NetwMenu/OptionsM.prefab
@@ -7529,6 +7529,86 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: Press for deactivating
+--- !u!1 &1381668910524958547
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 3851237206512824450}
+  - component: {fileID: 5857045895541771600}
+  - component: {fileID: 7171532600901957877}
+  m_Layer: 5
+  m_Name: TextSlotTOO2settings
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3851237206512824450
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1381668910524958547}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 5299975647211424755}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.083000004}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0.000022888}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5857045895541771600
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1381668910524958547}
+  m_CullTransparentMesh: 1
+--- !u!114 &7171532600901957877
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1381668910524958547}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 25
+    m_FontStyle: 2
+    m_BestFit: 0
+    m_MinSize: 0
+    m_MaxSize: 40
+    m_Alignment: 7
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Press for deactivating
 --- !u!1 &1405741267741047562
 GameObject:
   m_ObjectHideFlags: 0
@@ -13456,6 +13536,7 @@ RectTransform:
   - {fileID: 7184855062139488493}
   - {fileID: 4349135317353766966}
   - {fileID: 8282056207990590973}
+  - {fileID: 178559033428688118}
   m_Father: {fileID: 7890457196579690101}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -15065,6 +15146,87 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: 
+--- !u!1 &7353471545040529283
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5299975647211424755}
+  - component: {fileID: 5401419404323585526}
+  - component: {fileID: 3344869282376632142}
+  m_Layer: 5
+  m_Name: TextSlotTOOsetting
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5299975647211424755
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7353471545040529283}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 3851237206512824450}
+  m_Father: {fileID: 178559033428688118}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 0.8}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: -0.0000076294}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5401419404323585526
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7353471545040529283}
+  m_CullTransparentMesh: 1
+--- !u!114 &3344869282376632142
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7353471545040529283}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 30
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 40
+    m_Alignment: 1
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Touchcontrols ON
 --- !u!1 &7531123298323220689
 GameObject:
   m_ObjectHideFlags: 0
@@ -17268,6 +17430,140 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: Touch-Control Options
+--- !u!1 &8590096252835407764
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 178559033428688118}
+  - component: {fileID: 7546968855078909236}
+  - component: {fileID: 8733350325159692165}
+  - component: {fileID: 9177013087698457986}
+  m_Layer: 5
+  m_Name: AutoPrefabUI_OnOff
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &178559033428688118
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8590096252835407764}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 5299975647211424755}
+  m_Father: {fileID: 8924899338328608077}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.6, y: 0.48689857}
+  m_AnchorMax: {x: 1, y: 0.6101997}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: -0.000030517578, y: 0.00054932}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7546968855078909236
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8590096252835407764}
+  m_CullTransparentMesh: 1
+--- !u!114 &8733350325159692165
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8590096252835407764}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: e4f1fee3de32377429fd1348fae62b10, type: 3}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &9177013087698457986
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8590096252835407764}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 8733350325159692165}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls:
+      - m_Target: {fileID: 7320806596421241701}
+        m_TargetAssemblyTypeName: SystemOptionsMenue_mobile, Assembly-CSharp
+        m_MethodName: ChangeAutoSettingsAdaption
+        m_Mode: 1
+        m_Arguments:
+          m_ObjectArgument: {fileID: 0}
+          m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+          m_IntArgument: 0
+          m_FloatArgument: 0
+          m_StringArgument: 
+          m_BoolArgument: 0
+        m_CallState: 2
 --- !u!1 &8644824690227385941
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/Scenes/Menus/LaunchMenu.unity b/Assets/Scenes/Menus/LaunchMenu.unity
index d0b1108f..4d89792b 100644
--- a/Assets/Scenes/Menus/LaunchMenu.unity
+++ b/Assets/Scenes/Menus/LaunchMenu.unity
@@ -2071,7 +2071,7 @@ PrefabInstance:
     - target: {fileID: 3100971661806590510, guid: d55296411d4f39e43804eb54bbc798fc,
         type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: -4.999771
+      value: -4.9997864
       objectReference: {fileID: 0}
     - target: {fileID: 3102464668348079172, guid: d55296411d4f39e43804eb54bbc798fc,
         type: 3}
@@ -2081,7 +2081,7 @@ PrefabInstance:
     - target: {fileID: 3106400641319494412, guid: d55296411d4f39e43804eb54bbc798fc,
         type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: -4.9999847
+      value: -5
       objectReference: {fileID: 0}
     - target: {fileID: 3193466678055259699, guid: d55296411d4f39e43804eb54bbc798fc,
         type: 3}
@@ -3136,7 +3136,7 @@ PrefabInstance:
     - target: {fileID: 7988796428748055370, guid: d55296411d4f39e43804eb54bbc798fc,
         type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: -4.9999847
+      value: -5
       objectReference: {fileID: 0}
     - target: {fileID: 8008812519178292580, guid: d55296411d4f39e43804eb54bbc798fc,
         type: 3}
@@ -3171,7 +3171,7 @@ PrefabInstance:
     - target: {fileID: 8522967146069057291, guid: d55296411d4f39e43804eb54bbc798fc,
         type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: -4.9999847
+      value: -5
       objectReference: {fileID: 0}
     - target: {fileID: 8624388490878500135, guid: d55296411d4f39e43804eb54bbc798fc,
         type: 3}
diff --git a/Assets/Scripts/UI/HideUI.cs b/Assets/Scripts/UI/HideUI.cs
index f2524052..1408bd6b 100644
--- a/Assets/Scripts/UI/HideUI.cs
+++ b/Assets/Scripts/UI/HideUI.cs
@@ -2,6 +2,7 @@
 using UnityEngine;
 using UnityEngine.InputSystem;
 using static CommunicationEvents;
+using static updateMouseCursor;
 //using static CamControl_1;
 
 public class HideUI : MonoBehaviour
@@ -242,7 +243,14 @@ void CheckIf()
                 }
                 else
                 {
-                    Cursor.visible = !UICanvas.enabled;
+                    if (!UICanvas.enabled)
+                    {
+                        updateMouseCursor.setMouse();
+                    }
+                    else
+                    {
+                        updateMouseCursor.setMouse_Off();
+                    }
                     SetCamControl123(UICanvas.enabled);
 
                     SetCursorRenderer123(UICanvas.enabled);
@@ -283,7 +291,14 @@ void CheckIf()
                 }
                 else
                 {
-                    Cursor.visible = !UICanvas.enabled;
+                    if (!UICanvas.enabled)
+                    {
+                        updateMouseCursor.setMouse();
+                    }
+                    else
+                    {
+                        updateMouseCursor.setMouse_Off();
+                    }
                     SetCamControl123(UICanvas.enabled);
 
                     SetCursorRenderer123(UICanvas.enabled);
diff --git a/Assets/Scripts/UI/HideUI_mobile.cs b/Assets/Scripts/UI/HideUI_mobile.cs
index f94050df..9d818037 100644
--- a/Assets/Scripts/UI/HideUI_mobile.cs
+++ b/Assets/Scripts/UI/HideUI_mobile.cs
@@ -3,6 +3,7 @@
 using UnityEngine.InputSystem;
 using static CommunicationEvents;
 using static UIconfig;
+using static updateMouseCursor;
 
 public class HideUI_mobile : MonoBehaviour
 {
@@ -466,7 +467,8 @@ void CheckUI_Vis()
             }
             else
             {
-                Cursor.visible = true;
+                //Cursor.visible = true;
+                updateMouseCursor.setMouse();
                 SetCursorRenderer123(true);
                 //SetCamControl123(false); 
                 SetCamControl123(true);
@@ -489,7 +491,8 @@ void CheckUI_Vis()
             }
             else
             {
-                Cursor.visible = false;
+                //Cursor.visible = false;
+                updateMouseCursor.setMouse_Off();
                 SetCursorRenderer123(false);
                 SetCamControl123(true);
                 GadgetCanBeUsed = false;
@@ -511,7 +514,8 @@ void CheckUI_Vis()
             else
             {
 
-                Cursor.visible = true;
+                //Cursor.visible = true;
+                updateMouseCursor.setMouse();
                 SetCursorRenderer123(false);
                 SetCamControl123(false);
                 UICanvas.enabled = true;
@@ -533,7 +537,8 @@ void CheckUI_Vis()
             else
             {
 
-                Cursor.visible = true;
+                //Cursor.visible = true;
+                updateMouseCursor.setMouse();
                 SetCursorRenderer123(false);
                 SetCamControl123(false);
                 UICanvas.enabled = false;
@@ -554,7 +559,8 @@ void CheckUI_Vis()
             else
             {
                 UICanvas.enabled = false;
-                Cursor.visible = true;
+                //Cursor.visible = true;
+                updateMouseCursor.setMouse();
                 SetCursorRenderer123(false);
                 SetCamControl123(false);
                 GadgetCanBeUsed = false;
@@ -580,7 +586,8 @@ void CheckUI_Vis()
 
 
                 CursorRenderer.enabled = false;
-                Cursor.visible = true;
+                //Cursor.visible = true;
+                updateMouseCursor.setMouse();
                 SetCamControl123(false);
                 SetCursorRenderer123(false);
                 UICanvas.enabled = !UICanvas.enabled;
diff --git a/Assets/Scripts/UI/NetwMenu/updateMouseCursor.cs b/Assets/Scripts/UI/NetwMenu/updateMouseCursor.cs
index 74c3f5dc..2dc0b7fb 100644
--- a/Assets/Scripts/UI/NetwMenu/updateMouseCursor.cs
+++ b/Assets/Scripts/UI/NetwMenu/updateMouseCursor.cs
@@ -8,6 +8,11 @@ public static class updateMouseCursor
 
 
 
+    public static void setMouse_Off()
+    {
+        Cursor.visible = false;
+    }
+
 
 
     public static void setMouse()
@@ -19,7 +24,7 @@ public static void setMouse()
         if (CommunicationEvents.Opsys == CommunicationEvents.OperationSystem.Android)
         {
             CommunicationEvents.CursorVisDefault = false;
-            //Cursor.visible = false;
+            Cursor.visible = false;
         }
         else
         {
@@ -31,7 +36,7 @@ public static void setMouse()
 
 
         //Android crashes in level scene;
-        if (CommunicationEvents.Opsys != CommunicationEvents.OperationSystem.Windows)
+        if (CommunicationEvents.Opsys != CommunicationEvents.OperationSystem.Android)
         {
 
             double curssz = 1 / (UIconfig.cursorSize);
-- 
GitLab