всегда применять внутреннее состояние. лишь новое - в мир.разобрать

This commit is contained in:
2022-01-14 14:48:24 +03:00
parent 0798edc993
commit 03603bee76
3 changed files with 12 additions and 7 deletions

View File

@@ -7,6 +7,7 @@ function Состояния(состояние)
this.применить = function(имя)
{
/**/console.debug("ИГР Состояния.применить", имя);
состояние.разобратьВыпрямленный(this.задано[имя]);
}

View File

@@ -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.создать();

View File

@@ -87,5 +87,5 @@ var мир = {};
мир.разобрать = function(словарь)
{
мир.состояние.разобрать(словарь);
мир.состояние.разобратьЛишьНовое(словарь);
};