diff --git a/4.0/игра/200.Сцена.js b/4.0/игра/200.Сцена.js index b147465..8152e25 100644 --- a/4.0/игра/200.Сцена.js +++ b/4.0/игра/200.Сцена.js @@ -1,4 +1,4 @@ -function Сцена() +function Сцена(события) { this.создать = function() { @@ -6,6 +6,7 @@ function Сцена() скорость: [1, 1], }; this.задано = {}; + события.подписать(this); }; this.обработатьКлюч = function(ключ, путь, значение) @@ -15,13 +16,34 @@ function Сцена() return; } - var имя = путь[1]; - var свойство = путь.slice(2).join("."); - if (!this.задано[имя]) + var свойство = путь.slice(1).join("."); + this.задано[свойство] = значение; + }; + + this.обработатьНажатиеМышиУказатьИНажать = function(x, y, указатель) + { + var тип = this.задано["тип"]; + var игрок = this.задано["игрок"]; + var цель = this.задано["цель"]; + if (!тип || !игрок || !цель || тип != "указать и нажать") + { + return; + } + +/**/console.debug("ИГР Сцена.обработатьНМУИН задать цель и начать движение"); + }; + + this.обработатьСобытие = function(событие) + { + let префикс = "мышь/нажатие/"; + if (событие.startsWith(префикс)) { - this.задано[имя] = {}; + let значения = событие.substring(префикс.length).split("/"); + let x = Number(значения[0]); + let y = Number(значения[1]); + let указатель = значения[2]; + this.обработатьНажатиеМышиУказатьИНажать(x, y, указатель); } - this.задано[имя][свойство] = значение; }; // Конструктор. diff --git a/4.0/игра/700.Игра.js b/4.0/игра/700.Игра.js index b70abf8..8e07e0f 100644 --- a/4.0/игра/700.Игра.js +++ b/4.0/игра/700.Игра.js @@ -18,7 +18,7 @@ function Игра() мир.тела = new Тела(мир.события, мир.физика, мир.физдвижок.world); мир.слежение = new Слежение(мир.состояние, мир.изображения, мир.тела); мир.объекты = new Объекты(мир.состояние); - мир.сцена = new Сцена(); + мир.сцена = new Сцена(мир.события); мир.мышь = new Мышь(мир.события); this.ключники = [ new Заголовок(),