в начале игры все выключено. и активируется стартовое меню.
Каждое текущее меню помещается в отдельную переменную.
Каждое переключение стейт машины выключает меню из переменной и после включает необходимую, опять занося ее в переменную.
Видно, что его метод очень близок к нормальному
Константин, как ты сделал деформацию земли червем? Бугор и яма после. Идея огонь и графическая сторона реализации тоже хороша! то что код говно - это не главное. лишь бы не тормозила игра и не крашилась.
придет к решению типа:
в начале игры все выключено. и активируется стартовое меню.
Каждое текущее меню помещается в отдельную переменную.
Каждое переключение стейт машины выключает меню из переменной и после включает необходимую, опять занося ее в переменную.
Видно, что его метод очень близок к нормальному
а я подумал, что это целиком сделано шейдером. Получается, только цвет менятся. Код можно глянуть? =)
а про оптимизацию - в данном случае и не нужно. И даже, на 20 уровнях тупить врятли будет в момент переключения, тем более, это переходные моменты в которые небольшой лаг не отзовется на игровом процессе.
Со временем сам прийдешь к моменту когда и что лучше оптимизировать, иначе если оптимизировать все подряд, то процесс разработки уйдет в постоянное рекурсивное оптимизирование и надоест. Код должен работать и не меншать пользоваться продуктом, а то что под капотом - какая разница, если никак себя не проявляет.