From 03603bee76c7166e9ec25712a55f1f080efdc2f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB=20=D0=9A=D0=B0=D0=BF?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BA=D0=BE?= Date: Fri, 14 Jan 2022 14:48:24 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B2=D1=81=D0=B5=D0=B3=D0=B4=D0=B0=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=D0=BC=D0=B5=D0=BD=D1=8F=D1=82=D1=8C=20=D0=B2=D0=BD?= =?UTF-8?q?=D1=83=D1=82=D1=80=D0=B5=D0=BD=D0=BD=D0=B5=D0=B5=20=D1=81=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D0=B5.=20=D0=BB=D0=B8?= =?UTF-8?q?=D1=88=D1=8C=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B5=20-=20=D0=B2=20?= =?UTF-8?q?=D0=BC=D0=B8=D1=80.=D1=80=D0=B0=D0=B7=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 5.0/игра/190.Состояния.js | 1 + 5.0/общее/150.Состояние.js | 16 ++++++++++------ 5.0/общее/200.функции.js | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/5.0/игра/190.Состояния.js b/5.0/игра/190.Состояния.js index 114c423..6ca120d 100644 --- a/5.0/игра/190.Состояния.js +++ b/5.0/игра/190.Состояния.js @@ -7,6 +7,7 @@ function Состояния(состояние) this.применить = function(имя) { + /**/console.debug("ИГР Состояния.применить", имя); состояние.разобратьВыпрямленный(this.задано[имя]); } diff --git a/5.0/общее/150.Состояние.js b/5.0/общее/150.Состояние.js index d99a825..d0db466 100644 --- a/5.0/общее/150.Состояние.js +++ b/5.0/общее/150.Состояние.js @@ -38,7 +38,6 @@ function Состояние() if (!(было != null && было == стало)) { новые[ключ] = стало; - this.значения[ключ] = стало; } } return новые; @@ -51,17 +50,22 @@ function Состояние() this.разобратьВыпрямленный = function(выпрямленныйСловарь) { - var значения = this.лишьНовыеЗначения(выпрямленныйСловарь); - for (var ключ in значения) + for (var ключ in выпрямленныйСловарь) { - var путь = ключ.split("."); - var значение = значения[ключ]; + let путь = ключ.split("."); + let значение = выпрямленныйСловарь[ключ]; if (this.обработчик) { this.обработчик(ключ, путь, значение); } + this.значения[ключ] = значение; } - } + }; + + this.разобратьЛишьНовое = function(словарь) + { + this.разобратьВыпрямленный(this.лишьНовыеЗначения(this.выпрямить(словарь))); + }; // Конструктор. this.создать(); diff --git a/5.0/общее/200.функции.js b/5.0/общее/200.функции.js index cca058c..adeb45b 100644 --- a/5.0/общее/200.функции.js +++ b/5.0/общее/200.функции.js @@ -87,5 +87,5 @@ var мир = {}; мир.разобрать = function(словарь) { - мир.состояние.разобрать(словарь); + мир.состояние.разобратьЛишьНовое(словарь); };