diff --git a/4.1/игра/190.Состояния.js b/4.1/игра/190.Состояния.js index 6ca120d..114c423 100644 --- a/4.1/игра/190.Состояния.js +++ b/4.1/игра/190.Состояния.js @@ -7,7 +7,6 @@ function Состояния(состояние) this.применить = function(имя) { - /**/console.debug("ИГР Состояния.применить", имя); состояние.разобратьВыпрямленный(this.задано[имя]); } diff --git a/4.1/общее/150.Состояние.js b/4.1/общее/150.Состояние.js index d0db466..d99a825 100644 --- a/4.1/общее/150.Состояние.js +++ b/4.1/общее/150.Состояние.js @@ -38,6 +38,7 @@ function Состояние() if (!(было != null && было == стало)) { новые[ключ] = стало; + this.значения[ключ] = стало; } } return новые; @@ -50,22 +51,17 @@ function Состояние() this.разобратьВыпрямленный = function(выпрямленныйСловарь) { - for (var ключ in выпрямленныйСловарь) + var значения = this.лишьНовыеЗначения(выпрямленныйСловарь); + for (var ключ in значения) { - let путь = ключ.split("."); - let значение = выпрямленныйСловарь[ключ]; + var путь = ключ.split("."); + var значение = значения[ключ]; if (this.обработчик) { this.обработчик(ключ, путь, значение); } - this.значения[ключ] = значение; } - }; - - this.разобратьЛишьНовое = function(словарь) - { - this.разобратьВыпрямленный(this.лишьНовыеЗначения(this.выпрямить(словарь))); - }; + } // Конструктор. this.создать(); diff --git a/4.1/общее/200.функции.js b/4.1/общее/200.функции.js index adeb45b..cca058c 100644 --- a/4.1/общее/200.функции.js +++ b/4.1/общее/200.функции.js @@ -87,5 +87,5 @@ var мир = {}; мир.разобрать = function(словарь) { - мир.состояние.разобратьЛишьНовое(словарь); + мир.состояние.разобрать(словарь); };