diff --git a/Assets/Scripts/InteractionEngine/CommunicationEvents.cs b/Assets/Scripts/InteractionEngine/CommunicationEvents.cs index 70867258877dfc8d8a2c01a53f81b49c7a031262..bca75d877d64b9cf64721dd3808db7ac66663307 100644 --- a/Assets/Scripts/InteractionEngine/CommunicationEvents.cs +++ b/Assets/Scripts/InteractionEngine/CommunicationEvents.cs @@ -81,6 +81,7 @@ public enum OperationSystem WindowsStoreApps = 3, } public static bool CursorVisDefault = true; //Script. + public static bool CursorVisLastUsedIngame = true; //Script. public static bool GadgetCanBeUsed = false; diff --git a/Assets/Scripts/UI/HideUI.cs b/Assets/Scripts/UI/HideUI.cs index 1408bd6bacb0000fc783a1ec883611df01d96b8b..0b86b7a3dc7eb5112932dc67dd2db73ed03722dc 100644 --- a/Assets/Scripts/UI/HideUI.cs +++ b/Assets/Scripts/UI/HideUI.cs @@ -246,10 +246,12 @@ void CheckIf() if (!UICanvas.enabled) { updateMouseCursor.setMouse(); + CommunicationEvents.CursorVisLastUsedIngame = true; } else { updateMouseCursor.setMouse_Off(); + CommunicationEvents.CursorVisLastUsedIngame = false; } SetCamControl123(UICanvas.enabled); @@ -320,6 +322,7 @@ void CheckIf() void CheckUI_Vis() { GadgetCanBeUsed = true; + setMouse_ingame(); } diff --git a/Assets/Scripts/UI/HideUI_mobile.cs b/Assets/Scripts/UI/HideUI_mobile.cs index 9d818037eb13caf8a4eb74a6041a0d750bacafac..6dc8e19d776412227474451adcb734717ae06d13 100644 --- a/Assets/Scripts/UI/HideUI_mobile.cs +++ b/Assets/Scripts/UI/HideUI_mobile.cs @@ -468,7 +468,7 @@ void CheckUI_Vis() else { //Cursor.visible = true; - updateMouseCursor.setMouse(); + updateMouseCursor.setMouse_Off(); SetCursorRenderer123(true); //SetCamControl123(false); SetCamControl123(true); diff --git a/Assets/Scripts/UI/InGame/Pause_Menu_mobile.cs b/Assets/Scripts/UI/InGame/Pause_Menu_mobile.cs index 690995294488ef18e325382190f789ce1f193c4a..804575ea96003bee98749b11f6bba26f2e09c621 100644 --- a/Assets/Scripts/UI/InGame/Pause_Menu_mobile.cs +++ b/Assets/Scripts/UI/InGame/Pause_Menu_mobile.cs @@ -102,8 +102,9 @@ private void setPauseToken() } else { - //Cursor.visible = false; + Cursor.visible = false; } + //updateMouseCursor.setMouse(); UIconfig.GamePaused = true; PauseGame(); @@ -119,7 +120,11 @@ private void PauseGame() } private void ResumeGame() { + Time.timeScale = UIconfig.Game_TimeScale; + + if (!CommunicationEvents.CursorVisLastUsedIngame) { Cursor.visible = false; } + if (ResetLevel) { //Restart resClass = new Restart(); diff --git a/Assets/Scripts/UI/NetwMenu/updateMouseCursor.cs b/Assets/Scripts/UI/NetwMenu/updateMouseCursor.cs index 2dc0b7fba7a988bc1183e6a70b27357357375d02..95a2f4cece1b4fa2a88632d83d4d6eae3bb88362 100644 --- a/Assets/Scripts/UI/NetwMenu/updateMouseCursor.cs +++ b/Assets/Scripts/UI/NetwMenu/updateMouseCursor.cs @@ -5,9 +5,27 @@ public static class updateMouseCursor { + private static int setMouseCursorAlreadyDone = 0; + + public static void setMouse_ingame() + { + + if (CommunicationEvents.CursorVisLastUsedIngame) + { + setMouse(); + } + else + { + setMouse_Off(); + } + } + + + + public static void setMouse_Off() { Cursor.visible = false; @@ -28,13 +46,22 @@ public static void setMouse() } else { + DefineCursorBefore(); Cursor.visible = true; CommunicationEvents.CursorVisDefault = true; } + + } + private static void DefineCursorBefore() + { + if (setMouseCursorAlreadyDone < 10) { if (DefineCursor()) { setMouseCursorAlreadyDone++; } } + } + private static bool DefineCursor() + { //Android crashes in level scene; if (CommunicationEvents.Opsys != CommunicationEvents.OperationSystem.Android) { @@ -63,8 +90,11 @@ public static void setMouse() Cursor.SetCursor(bestCursTextur, Vector2.zero, CursorMode.ForceSoftware); //print("bestCursTexturSize " + bestCursTexturSize + " " + CursorTexture_List_01.Count); - + return true; } + + return false; } + } \ No newline at end of file