Browse Source

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

tags/5.0
parent
commit
03603bee76
3 changed files with 12 additions and 7 deletions
  1. +1
    -0
      5.0/игра/190.Состояния.js
  2. +10
    -6
      5.0/общее/150.Состояние.js
  3. +1
    -1
      5.0/общее/200.функции.js

+ 1
- 0
5.0/игра/190.Состояния.js View File

@@ -7,6 +7,7 @@ function Состояния(состояние)

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



+ 10
- 6
5.0/общее/150.Состояние.js 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.создать();


+ 1
- 1
5.0/общее/200.функции.js View File

@@ -87,5 +87,5 @@ var мир = {};

мир.разобрать = function(словарь)
{
мир.состояние.разобрать(словарь);
мир.состояние.разобратьЛишьНовое(словарь);
};

Loading…
Cancel
Save