Skip to content
Snippets Groups Projects
updateMouseCursor.cs 2.21 KiB
Newer Older
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;
    }

        if (CommunicationEvents.Opsys == CommunicationEvents.OperationSystem.Android)
        {
            CommunicationEvents.CursorVisDefault = false;
            Cursor.visible = false;
            DefineCursorBefore(); 
            Cursor.visible = true;
            CommunicationEvents.CursorVisDefault = true;
        }

    private static void DefineCursorBefore()
    {
        if (setMouseCursorAlreadyDone < 10) { if (DefineCursor()) { setMouseCursorAlreadyDone++; } }
    }
    private static bool DefineCursor()
    {
        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);