|
|
@@ -1,4 +1,4 @@ |
|
|
|
function Тела(физмир) |
|
|
|
function Тела(события, физика, физмир) |
|
|
|
{ |
|
|
|
this.создать = function() |
|
|
|
{ |
|
|
@@ -11,6 +11,7 @@ function Тела(физмир) |
|
|
|
this.задано = {}; |
|
|
|
this.тела = {}; |
|
|
|
this.имена = {}; |
|
|
|
события.подписать(this); |
|
|
|
}; |
|
|
|
|
|
|
|
this.именаЧастей = function(за) |
|
|
@@ -44,7 +45,30 @@ function Тела(физмир) |
|
|
|
this.пересоздатьТело(имя); |
|
|
|
}; |
|
|
|
|
|
|
|
this.пересоздатьТело = function(имя) { |
|
|
|
this.обработатьСобытие = function(событие) |
|
|
|
{ |
|
|
|
let префикс = "физика/"; |
|
|
|
if (событие.startsWith(префикс)) |
|
|
|
{ |
|
|
|
let физ = событие.substring(префикс.length); |
|
|
|
this.пересоздатьТелаФизики(физ); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
this.пересоздатьТелаФизики = function(физ) |
|
|
|
{ |
|
|
|
for (let имя in this.задано) |
|
|
|
{ |
|
|
|
let заданнаяФизика = this.задано[имя]["физика"]; |
|
|
|
if (заданнаяФизика && заданнаяФизика == физ) |
|
|
|
{ |
|
|
|
this.пересоздатьТело(имя); |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
this.пересоздатьТело = function(имя) |
|
|
|
{ |
|
|
|
// Удаляем старое тело. |
|
|
|
if (имя in this.тела) |
|
|
|
{ |
|
|
@@ -62,19 +86,15 @@ function Тела(физмир) |
|
|
|
пр[1] = пр[1] + пр[3] / 2.0; |
|
|
|
// Параметры тела. |
|
|
|
var параметры = {}; |
|
|
|
/* |
|
|
|
* НАДО использовать из ключа физика |
|
|
|
* |
|
|
|
Object.assign(параметры, ум.физика); |
|
|
|
for (var путь in за) |
|
|
|
if (за.физика) |
|
|
|
{ |
|
|
|
if (путь.startsWith("физика")) |
|
|
|
let заф = физика.задано[за.физика]; |
|
|
|
for (let параметр in заф) |
|
|
|
{ |
|
|
|
var свойство = путь.slice(7); |
|
|
|
мир.задатьПолныйКлюч(параметры, свойство, за[путь]); |
|
|
|
мир.задатьПолныйКлюч(параметры, параметр, заф[параметр]); |
|
|
|
} |
|
|
|
} |
|
|
|
*/ |
|
|
|
/**/console.debug("ИГР Тела.пересоздатьТ имя/параметры", имя, параметры); |
|
|
|
|
|
|
|
var тело = null; |
|
|
|
// Создаём новое составное тело. |
|
|
|