Хотя только сейчас понял что не прав... наверное из-за того что голова болит... возможно стоит инвертировать ось Y у мыши. Т.е.:
Vector2 mp = Input.mousePosition;
mp.y = Screen.height - mp.y;
if (Input.GetMouseButtonDown(0) && _GUILayer.HitTest(mp) == null) {
Сам бы я пошел другим путем, я бы проверил попадает ли mp в Rect области GUI, т.е. (new Rect(100, 100, 200, 200)).Contains(mp);.
|
Y - мыши я переворачивал, забыл написать, ничего не происходило, хотя именно так конечно правильно, но и так GUI не видит

.
А перебирать все GUI на пересечение по Rect не очень удобно, это у меня в примере тестовый GUI, а ведь их может быть много на экране и еще динамические, хотелось бы победить эту штуку, второй день бъюсь
Ну а если с Rect, то как найти все GUI?