всегда применять внутреннее состояние. лишь новое - в мир.разобрать
This commit is contained in:
@@ -7,6 +7,7 @@ function Состояния(состояние)
|
||||
|
||||
this.применить = function(имя)
|
||||
{
|
||||
/**/console.debug("ИГР Состояния.применить", имя);
|
||||
состояние.разобратьВыпрямленный(this.задано[имя]);
|
||||
}
|
||||
|
||||
|
||||
@@ -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.создать();
|
||||
|
||||
@@ -87,5 +87,5 @@ var мир = {};
|
||||
|
||||
мир.разобрать = function(словарь)
|
||||
{
|
||||
мир.состояние.разобрать(словарь);
|
||||
мир.состояние.разобратьЛишьНовое(словарь);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user