v10 migration, ongoing WIP
This commit is contained in:
@ -239,7 +239,7 @@ export class RdDUtility {
|
||||
if (b.name.includes("Extérieur")) return 1;
|
||||
return a.name.localeCompare(b.name);
|
||||
}
|
||||
if (a.data.categorie.startsWith("melee") && b.data.categorie.startsWith("melee")) {
|
||||
if (a.system.categorie.startsWith("melee") && b.system.categorie.startsWith("melee")) {
|
||||
if (a.name.includes("Corps")) return -1;
|
||||
if (b.name.includes("Corps")) return 1;
|
||||
if (a.name.includes("Dague")) return -1;
|
||||
@ -414,38 +414,37 @@ export class RdDUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static buildArbreDeConteneurs(conteneurs, objets) {
|
||||
let objetVersConteneur = {};
|
||||
let objetVersConteneur = {}
|
||||
// Attribution des objets aux conteneurs
|
||||
for (let conteneur of conteneurs) {
|
||||
conteneur.subItems = [];
|
||||
for (let id of conteneur.data.contenu ?? []) {
|
||||
let objet = objets.find(objet => (id == objet._id));
|
||||
conteneur.subItems = []
|
||||
for (let id of conteneur.system.contenu ?? []) {
|
||||
let objet = objets.find(objet => (id == objet._id))
|
||||
if (objet) {
|
||||
objet.estContenu = true; // Permet de filtrer ce qui est porté dans le template
|
||||
objetVersConteneur[id] = conteneur._id;
|
||||
conteneur.subItems.push(objet);
|
||||
objetVersConteneur[id] = conteneur._id
|
||||
conteneur.subItems.push(objet)
|
||||
}
|
||||
}
|
||||
}
|
||||
for (let conteneur of conteneurs) {
|
||||
conteneur.data.encTotal = RdDUtility.calculEncContenu(conteneur, objets);
|
||||
conteneur.system.encTotal = RdDUtility.calculEncContenu(conteneur, objets)
|
||||
}
|
||||
return objetVersConteneur;
|
||||
return objetVersConteneur
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static calculEncContenu(conteneur, objets) {
|
||||
const itemData = Misc.data(conteneur);
|
||||
const contenuDatas = (itemData.data.contenu ?? []).filter(id => id != undefined)
|
||||
.map(id => Misc.data(objets.find(it => (id == it._id))))
|
||||
.filter(it => it);
|
||||
let enc = Number(itemData.data.encombrement ?? 0) * Number(itemData.data.quantite ?? 1);
|
||||
for (let itemData of contenuDatas) {
|
||||
if (itemData.type == 'conteneur') {
|
||||
enc += RdDUtility.calculEncContenu(itemData, objets);
|
||||
const contenuDatas = (conteneur.system.contenu ?? []).filter(id => id != undefined)
|
||||
.map(id => objets.find(it => (id == it._id)) )
|
||||
.filter(it => it)
|
||||
let enc = Number(conteneur.system.encombrement ?? 0) * Number(conteneur.system.quantite ?? 1)
|
||||
for (let subContenu of contenuDatas) {
|
||||
if (subContenu.type == 'conteneur') {
|
||||
enc += RdDUtility.calculEncContenu(subContenu, objets)
|
||||
}
|
||||
else {
|
||||
enc += Number(itemData.data.encombrement ?? 0) * Number(itemData.data.quantite ?? 1);
|
||||
enc += Number(subContenu.system.encombrement ?? 0) * Number(subContenu.system.quantite ?? 1)
|
||||
}
|
||||
}
|
||||
return enc;
|
||||
|
Reference in New Issue
Block a user