Get the rectangle last used by GUILayout for a control.
function OnGUI() {
GUILayout.Button( "My button" );
if(Event.current.type == EventType.Repaint &&
GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition )) {
GUILayout.Label( "Mouse over!" );
} else {
GUILayout.Label( "Mouse somewhere else" );
}
}
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void OnGUI() { GUILayout.Button("My button"); if (Event.current.type == EventType.Repaint && GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition)) GUILayout.Label("Mouse over!"); else GUILayout.Label("Mouse somewhere else"); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): def OnGUI() as void: GUILayout.Button('My button') if (Event.current.type == EventType.Repaint) and GUILayoutUtility.GetLastRect().Contains(Event.current.mousePosition): GUILayout.Label('Mouse over!') else: GUILayout.Label('Mouse somewhere else')