-
Stefan Richter authoredStefan Richter authored
updateMouseCursor.cs 2.21 KiB
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;
}
}