using UnityEngine; using static UIconfig; 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; } public static void setMouse() { //updateMouseCursor.setMouse(); if (CommunicationEvents.Opsys == CommunicationEvents.OperationSystem.Android) { CommunicationEvents.CursorVisDefault = false; Cursor.visible = false; } 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) { double curssz = 1 / (UIconfig.cursorSize); // print(UIconfig.cursorSize); double doesItFit; double bestCursTexturSize = double.MaxValue; //print(curssz); Texture2D bestCursTextur = null; for (int i = 0; i < CursorTexture_List_01.Count; i++) { (int, Texture2D) tupelelement = CursorTexture_List_01[i]; doesItFit = (UIconfig.screWidth / tupelelement.Item1); if ((doesItFit < curssz) && (tupelelement.Item1 < bestCursTexturSize)) { bestCursTexturSize = tupelelement.Item1; bestCursTextur = tupelelement.Item2; } } Cursor.SetCursor(bestCursTextur, Vector2.zero, CursorMode.ForceSoftware); //print("bestCursTexturSize " + bestCursTexturSize + " " + CursorTexture_List_01.Count); return true; } return false; } }