Вы проделали большую работу, но я вас разочарую. То, что вы нашли в types.xml, это есть просто определение полей редактора. То есть, если вы удалите строчку с NewShopBuilding, у вас просто пропадёт в редакторе вкладка с возможностью изменения этой строчки.
Собственно, все свойства, указываемые под такими графами, нужны только для того, чтобы редактор карт понимал, какой файл/элемент он должен содержать в этом поле и какой элемент он должен создавать при нажатии New.
Я как-то развлекался с ними, получалось добавлять новые поля (например, 3X3SizeCreatureTexture
), но вот биндить их к функционалу (как в коде в вашем втором примере) я не сумел.