Memo
1
2
3
4
5
6
7
8
9
Rect rect = ....; // 마우스 클릭 방지할 영역
if (rect.Contains(Event.current.mousePosition))
{
if(Event.current.type == EventType.MouseDown)
Event.current.Use();
}
// 이후 해당 영역에서의 모든 마우스 클릭은 무시(Button, Value Fields, ...)
- 위의 방식을 이용해서, 컨트롤의 색상을 변경시키지 않는
DisabledGroup
을 구현할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 컨트롤을 그리기 전에 호출
/// <summary> 지정한 조건이 참인 경우에만 해당 영역 마우스 클릭 허용 </summary>
public static void EnabledRectArea(in Rect rect, in bool enabledCondition)
{
if (!enabledCondition && rect.Contains(Event.current.mousePosition))
{
if (Event.current.type == EventType.MouseDown)
Event.current.Use();
}
}
/// <summary> 지정한 조건이 참인 경우에만 해당 영역 마우스 클릭 방지 </summary>
public static void DisabledRectArea(in Rect rect, in bool disabledCondition)
{
if (disabledCondition && rect.Contains(Event.current.mousePosition))
{
if (Event.current.type == EventType.MouseDown)
Event.current.Use();
}
}