тела
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
function Тела(физмир)
|
function Тела(события, физика, физмир)
|
||||||
{
|
{
|
||||||
this.создать = function()
|
this.создать = function()
|
||||||
{
|
{
|
||||||
@@ -11,6 +11,7 @@ function Тела(физмир)
|
|||||||
this.задано = {};
|
this.задано = {};
|
||||||
this.тела = {};
|
this.тела = {};
|
||||||
this.имена = {};
|
this.имена = {};
|
||||||
|
события.подписать(this);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.именаЧастей = function(за)
|
this.именаЧастей = function(за)
|
||||||
@@ -44,7 +45,30 @@ function Тела(физмир)
|
|||||||
this.пересоздатьТело(имя);
|
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.тела)
|
if (имя in this.тела)
|
||||||
{
|
{
|
||||||
@@ -62,19 +86,15 @@ function Тела(физмир)
|
|||||||
пр[1] = пр[1] + пр[3] / 2.0;
|
пр[1] = пр[1] + пр[3] / 2.0;
|
||||||
// Параметры тела.
|
// Параметры тела.
|
||||||
var параметры = {};
|
var параметры = {};
|
||||||
/*
|
if (за.физика)
|
||||||
* НАДО использовать из ключа физика
|
|
||||||
*
|
|
||||||
Object.assign(параметры, ум.физика);
|
|
||||||
for (var путь in за)
|
|
||||||
{
|
{
|
||||||
if (путь.startsWith("физика"))
|
let заф = физика.задано[за.физика];
|
||||||
|
for (let параметр in заф)
|
||||||
{
|
{
|
||||||
var свойство = путь.slice(7);
|
мир.задатьПолныйКлюч(параметры, параметр, заф[параметр]);
|
||||||
мир.задатьПолныйКлюч(параметры, свойство, за[путь]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
/**/console.debug("ИГР Тела.пересоздатьТ имя/параметры", имя, параметры);
|
||||||
|
|
||||||
var тело = null;
|
var тело = null;
|
||||||
// Создаём новое составное тело.
|
// Создаём новое составное тело.
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ function Игра()
|
|||||||
мир.виды = new Виды(мир.события);
|
мир.виды = new Виды(мир.события);
|
||||||
мир.изображения = new Изображения(мир.события, мир.виды, корень),
|
мир.изображения = new Изображения(мир.события, мир.виды, корень),
|
||||||
мир.физика = new Физика(мир.события);
|
мир.физика = new Физика(мир.события);
|
||||||
мир.тела = new Тела(мир.физдвижок.world);
|
мир.тела = new Тела(мир.события, мир.физика, мир.физдвижок.world);
|
||||||
мир.слежение = new Слежение(мир.изображения, мир.тела);
|
мир.слежение = new Слежение(мир.изображения, мир.тела);
|
||||||
мир.объекты = new Объекты(мир.состояние);
|
мир.объекты = new Объекты(мир.состояние);
|
||||||
this.ключники = [
|
this.ключники = [
|
||||||
|
|||||||
Reference in New Issue
Block a user