Fix drop conteneurs
This commit is contained in:
parent
93865f2c4b
commit
44e212cd12
@ -826,15 +826,15 @@ export class RdDActor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
_isConteneurContenu(item, conteneurId) {
|
_isConteneurContenu(item, conteneur) {
|
||||||
if (Misc.data(item)?.type == 'conteneur') { // Si c'est un conteneur, il faut vérifier qu'on ne le déplace pas vers un sous-conteneur lui appartenant
|
if (item?.isConteneur()) { // Si c'est un conteneur, il faut vérifier qu'on ne le déplace pas vers un sous-conteneur lui appartenant
|
||||||
for (let id of Misc.templateData(item).contenu) {
|
for (let id of Misc.templateData(item).contenu) {
|
||||||
let subObjet = this.getObjet(id);
|
let subObjet = this.getObjet(id);
|
||||||
if (subObjet?.id == conteneurId) {
|
if (subObjet?.id == conteneur.id) {
|
||||||
return true; // Loop detected !
|
return true; // Loop detected !
|
||||||
}
|
}
|
||||||
if (subObjet?.type == 'conteneur') {
|
if (subObjet?.isConteneur()) {
|
||||||
return this._isConteneurContenu(subObjet, conteneurId);
|
return this._isConteneurContenu(subObjet, conteneur);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -969,7 +969,7 @@ export class RdDActor extends Actor {
|
|||||||
ui.notifications.warn(`Impossible de déplacer un objet (${item.name}) vers un ${destData.type} qui n'est pas un conteneur (${dest.name}) !`);
|
ui.notifications.warn(`Impossible de déplacer un objet (${item.name}) vers un ${destData.type} qui n'est pas un conteneur (${dest.name}) !`);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (this._isConteneurContenu(item, conteneurId)) {
|
if (this._isConteneurContenu(item, dest)) {
|
||||||
ui.notifications.warn(`Impossible de déplacer un conteneur parent (${item.name}) dans un de ses contenus ${destData.name} !`);
|
ui.notifications.warn(`Impossible de déplacer un conteneur parent (${item.name}) dans un de ses contenus ${destData.name} !`);
|
||||||
return false; // Loop detected !
|
return false; // Loop detected !
|
||||||
}
|
}
|
||||||
|
@ -104,9 +104,9 @@ export class RdDItem extends Item {
|
|||||||
|
|
||||||
async quantiteIncDec(nombre, options = { diminuerQuantite: true, supprimerSiZero: false }) {
|
async quantiteIncDec(nombre, options = { diminuerQuantite: true, supprimerSiZero: false }) {
|
||||||
const itemData = Misc.data(this);
|
const itemData = Misc.data(this);
|
||||||
const quantite = itemData.data.quantite;
|
const quantite = Number(itemData.data.quantite ??-1);
|
||||||
if (quantite != undefined) {
|
if (quantite >=0 ) {
|
||||||
const reste = Math.max(quantite + nombre, 0);
|
const reste = Math.max(quantite + Number(nombre), 0);
|
||||||
|
|
||||||
if (reste == 0) {
|
if (reste == 0) {
|
||||||
if (options.supprimerSiZero){
|
if (options.supprimerSiZero){
|
||||||
|
Loading…
Reference in New Issue
Block a user