Чем больше я наполняю cssGUI, чем дальше я лезу в дебри GUI Unity, тем больше я осознаю, насколько он тупо устроен.
И вдруг внезапным просветлением понимаю, что html и css - дают людям райский дизайн
Абсолютная неконтролируемость поведения в GUI не дает возможности его стандартизировать в полной мере.
Он конечно…
Новость
15 4 304
29
Doc, ну ладно, я не работал с этими лайтами, поэтому не могу их сравнивать, но мне вполне нравится css. Я бы даже с удовольствием его бы юзал при разработке интерфейсов для обычных программ. В Scene2D.UI тоже похожая штука юзается, но там некоторые моменты не очевидные, например 50% ширина будет 0 равна, если у родителя не задана ширина.

и да кст, хватит уже агрить
29
Баттхерт на соточку кстати, экстраверт тебе в школе задали на юнити сделать игру?
проблема в том, что док тут начинает опять все поливать сам знаешь чем, при этом не понимает, что другого выбора в юнити нету
Вот ета ваще неправда, я лишь сказал, что хтмл и ксс это просто 0/10 по сравнению с нормальными лейаут энджайнами, вам prog все очень хорошо объяснил, он классный парень и мою мысль очень хорошо понял, слушайте его. Я тоже хотел написать большой подобный пост, но экстравирт так агрится, что подумал, что оно того не стоит.
27
Странный Парень, а то что я 3 года сплошь и рядом с лайаутами работаю это фигня конечно. Твой дружок несомненно баста. И я на язычок уж слишком резвый.
1 пункт от alexprey: 1.1 (ненормативная лексика) Повнимательнее пожалуйста, прям сердцу больно выдавать варн
4
alexprey, ну док получает деньги за то, что не даёт разрабам использовать говно всякое, если что, и шарит на пару порядков лучше во всём этом.
29
prog, проблема в том, что док тут начинает опять все поливать сам знаешь чем, при этом не понимает, что другого выбора в юнити нету
24
Extravert, похожие имена у Layout в юнити и MigLayout, GridBagLayout в джаве вовсе не значат, что они устроены одинаковым образом или хоть как-то между собой связаны кроме факта, что все они отвечают за размещение и обработку элементов интерфейса (отсюда и слово layout в названиях). То, что родной класс Layout в юнити говно, это неоспоримо. Doc имел в виду, что есть куда более удобные подходы к формированию интерфейса, чем html+css и привел пару примеров из своей сферы деятельности, а ты зацепился за Layout из юнити, будто он является эталоном и стандартом, согласно которому пишутся все остальные layout-менеджеры, если только в их названии есть слово layout.
P.S. меня всегда умиляло именование классов в юнити - они бы его еще TheLayout назвали, чтобы в принципе не возникало вопросов можно ли реализовать интерфейс другим способом.
27
Doc, вообще то гуи юнити устроен как раз на Layout слышу звон не знаю где он
Речь шла об отсутствии конкретики в гуи, четко выверенных команд, отображения объекта независимо от его позиции линейно и обработке действий. Я уверен, что ты понятия не имеешь о "прогонах" в юнити, которые как раз происходят из-за Layout, чем это плохо, но тем не менее сидишь и выпендриваешься за то какой Layout офигительный подход.

Вот простейший пример кода с лайаутом, который не будет работать:
var isFocusContext = rect.Contains(Event.current.mousePosition);
if (isFocusContext)
{
    if (gui.button(new GUIContent(ICONS.popup), "control-button"))
    {
                         
    }
}
Что мы сделали? Просто узнали входит ли мышь в ректангл и по условию отобразили элемент. Почему так? Потому что Layout делает дополнительный прогон, в котором условие выполняется как false, а затем происходит еще один прогон Repaint'ом, на котором условие выполняется как true. Несовпадение количества отображаемых элементов приводит к ошибке. В силу того что код прогонов выполняет одни и те же функции я не могу создать переменную фокуса после очередного перерасчета ректангла, чтобы такой ошибки не было, ибо переменная нужна мне раньше.