Использование : Просто проверить Event.current.mousePosition на попадание в контроллируемый рект.
Предположим, у вас есть панелька, на ней две кнопки и поле ввода текста. Кнопки и ввод текста проверять нет смысла, а вот панельку стоит проверить. Если она рисуется не лайоутами, то просто проверяете её рект, если наоборот, то используете GUILayoutUtility.GetLastRect и назначаете значение GlobalGUI.MouseOverGUI
Интересует только положительное значение. False же выставится автоматом, если в последнем кадре ни разу небыло TRUE установки.
Вот и всё. Проверил Rect, назначил состояние переменной и забыл о ней. Она обнулится (встанет на False) сама, об этом не стоит беспокоиться.
:-h
Синтаксис:
Используется csharp
public static class GlobalGUI
{
public static bool MouseOverGUI
{
get
{
return Time.renderedFrameCount <= _lastFrameOverGUI + 1;
}
set
{
if (value)
{
_lastFrameOverGUI = Time.renderedFrameCount;
}
}
}
private static int _lastFrameOverGUI;
}
{
public static bool MouseOverGUI
{
get
{
return Time.renderedFrameCount <= _lastFrameOverGUI + 1;
}
set
{
if (value)
{
_lastFrameOverGUI = Time.renderedFrameCount;
}
}
}
private static int _lastFrameOverGUI;
}