@@ -37,6 +37,7 @@ | |||||
<script src="игра/220.Мышь.js"></script> | <script src="игра/220.Мышь.js"></script> | ||||
<script src="игра/240.Столкновения.js"></script> | <script src="игра/240.Столкновения.js"></script> | ||||
<script src="игра/260.Подсказки.js"></script> | <script src="игра/260.Подсказки.js"></script> | ||||
<script src="игра/280.Меню.js"></script> | |||||
<script src="игра/700.Игра.js"></script> | <script src="игра/700.Игра.js"></script> | ||||
<script> | <script> | ||||
var игра = new Игра(); | var игра = new Игра(); | ||||
@@ -5,6 +5,23 @@ function Подсказки() | |||||
this.задано = {}; | this.задано = {}; | ||||
}; | }; | ||||
this.задатьПодсказку = function(имя) | |||||
{ | |||||
let за = this.задано[имя]; | |||||
if (!за.элемент || !за.текст) | |||||
{ | |||||
return; | |||||
} | |||||
let элемент = document.getElementById(за.элемент); | |||||
if (!элемент) | |||||
{ | |||||
return; | |||||
} | |||||
элемент.setAttribute("uk-tooltip", `pos: right; title: ${за.текст}`); | |||||
}; | |||||
this.обработатьКлюч = function(ключ, путь, значение) | this.обработатьКлюч = function(ключ, путь, значение) | ||||
{ | { | ||||
if (путь[0] != "подсказки") | if (путь[0] != "подсказки") | ||||
@@ -23,21 +40,17 @@ function Подсказки() | |||||
this.задатьПодсказку(имя); | this.задатьПодсказку(имя); | ||||
}; | }; | ||||
this.задатьПодсказку = function(имя) | |||||
this.подсказкаДляЭлемента = function(элемент) | |||||
{ | { | ||||
let за = this.задано[имя]; | |||||
if (!за.элемент || !за.текст) | |||||
{ | |||||
return; | |||||
} | |||||
let элемент = document.getElementById(за.элемент); | |||||
if (!элемент) | |||||
for (var имя in this.задано) | |||||
{ | { | ||||
return; | |||||
let подсказка = this.задано[имя]; | |||||
if (подсказка.элемент == элемент) | |||||
{ | |||||
return имя; | |||||
} | |||||
} | } | ||||
элемент.setAttribute("uk-tooltip", `pos: right; title: ${за.текст}`); | |||||
return null; | |||||
}; | }; | ||||
// Конструктор. | // Конструктор. | ||||
@@ -0,0 +1,32 @@ | |||||
function Меню(события, подсказки) | |||||
{ | |||||
this.создать = function() | |||||
{ | |||||
события.подписать(this); | |||||
}; | |||||
this.обработатьСобытие = function(событие) | |||||
{ | |||||
let мышь = "мышь/нажатие/"; | |||||
if (событие.startsWith(мышь)) | |||||
{ | |||||
let значения = событие.substring(мышь.length).split("/"); | |||||
let элемент = значения[2]; | |||||
let подсказка = подсказки.подсказкаДляЭлемента(элемент); | |||||
if (подсказка) | |||||
{ | |||||
this.отобразитьМеню(подсказка); | |||||
} | |||||
} | |||||
}; | |||||
this.отобразитьМеню = function(подсказка) | |||||
{ | |||||
/**/console.debug("ИГР Меню.отобразитьМ подсказка:", подсказка); | |||||
}; | |||||
// Конструктор. | |||||
this.создать(); | |||||
}; | |||||
@@ -23,6 +23,7 @@ function Игра() | |||||
мир.мышь = new Мышь(мир.события); | мир.мышь = new Мышь(мир.события); | ||||
мир.столкновения = new Столкновения(мир.события, мир.тела, мир.физдвижок); | мир.столкновения = new Столкновения(мир.события, мир.тела, мир.физдвижок); | ||||
мир.подсказки = new Подсказки(); | мир.подсказки = new Подсказки(); | ||||
мир.меню = new Меню(мир.события, мир.подсказки); | |||||
this.ключники = [ | this.ключники = [ | ||||
new Заголовок(), | new Заголовок(), | ||||
мир.виды, | мир.виды, | ||||