function Меню(события, подсказки, реплики) { this.создать = function() { события.подписать(this); this.установитьМеню(); this.улавливатьВыбор(); }; this.обработатьСобытие = function(событие) { let мышь = "мышь/нажатие/"; let сами = "меню/"; if (событие.startsWith(мышь)) { let значения = событие.substring(мышь.length).split("/"); let элемент = значения[2]; let имя = подсказки.подсказкаДляЭлемента(элемент); if (имя && имя in реплики.задано) { this.отобразитьМеню(имя); } } else if (событие.startsWith(сами)) { UIkit.modal("#меню").hide(); } }; this.отобразитьМеню = function(имя) { this.активнаяПодсказка = имя; let подсказка = подсказки.задано[имя]; document.getElementById("меню-заголовок").innerHTML = подсказка.текст; UIkit.modal("#меню").show(); }; this.улавливатьВыбор = function() { var тут = this; let глаз = document.getElementById("меню-кнопка-глаз"); глаз.addEventListener( "click", function() { события.уведомить(`меню/глаз/${тут.активнаяПодсказка}`); } ); let рука = document.getElementById("меню-кнопка-рука"); рука.addEventListener( "click", function() { события.уведомить(`меню/рука/${тут.активнаяПодсказка}`); } ); let рот = document.getElementById("меню-кнопка-рот"); рот.addEventListener( "click", function() { события.уведомить(`меню/рот/${тут.активнаяПодсказка}`); } ); let нога = document.getElementById("меню-кнопка-нога"); нога.addEventListener( "click", function() { события.уведомить(`меню/нога/${тут.активнаяПодсказка}`); } ); }; this.установитьМеню = function() { let html = `