Изменяемые шаблоны

Ранее думалось, что реализовывать экраны через скрипты, но сейчас думаю это из пушки по воробьям. Нет, в целом скрипты очень даже нужны будут, особенно при программировании ИИ существ, но вот для зарузки html страничек – это перебор.

Ранее было реализовано, что при обращении к тому или иному урл – загружается специальный шаблон (через функцию loadTemplate(char*) - которая загружала необходимый файлик и возвращало его значение), далее загруженный шаблон обрабатывался функцией patternProcessing, которая заменяла условные команды, на значения – например $HP$ - на показатель уровня живучести.

Но из-за такого подхода пришлось бы на каждом отдельном экране рисовать кнопки меню и другую кучу оформительского дизайна.
Было решено сделать чуть-чуть по другому, некий сценарий что и как загружать, например для всех урл – старосты, торговца и прочего – грузится один и тот-же шаблон – main_play.

В шаблоне рисуется меню и все остальное – но вот в центральной его части стоит макроподстановка $uri_main$, где подставляется уже загрузка шаблона для данного выбрано пункта.

Дело в том что в самом шаблоне нужно тоже анализировать ситуацию и подгружать соответствующий шаблон – т.е. делать это рекурсивно.

Для этого был написан соответствующий код – в двух словах есть сценарий загрузки и загрузки, более полное описание по ссылке.