Montrer/cacher l'archétype

This commit is contained in:
Vincent Vandemeulebrouck
2021-01-03 19:19:02 +01:00
parent 3211c30519
commit 0072861c3f
3 changed files with 69 additions and 52 deletions

View File

@ -20,7 +20,8 @@ export class RdDActorSheet extends ActorSheet {
tabs: [{navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "carac"}],
dragDrop: [{dragSelector: ".item-list .item", dropSelector: null}],
editCaracComp: false,
cacherCompetencesNiveauBase: false,
montrerCompetencesNiveauBase: false,
montrerArchetype: false
});
}
@ -28,17 +29,13 @@ export class RdDActorSheet extends ActorSheet {
getData() {
let data = super.getData();
// Gestion du lock/unlock des zones éditables (carac+compétences)
data.data.editCaracComp = this.options.editCaracComp;
data.data.lockUnlockText = (this.options.editCaracComp) ? "Bloquer" : "Débloquer";
data.data.lockUnlockIcon = (this.options.editCaracComp) ? "unlocked.svg" : "locked.svg";
// Gestion de l'affichage total/partiel des compétences
data.data.cacherCompetencesNiveauBase = this.options.cacherCompetencesNiveauBase;
data.data.showHideCompetenceText = (this.options.cacherCompetencesNiveauBase) ? "Montrer tout" : "Filtrer" ;
data.data.showHideCompetenceIcon = (this.options.cacherCompetencesNiveauBase) ? "no-filter.svg" : "filter.svg";
data.data.montrerCompetencesNiveauBase = this.options.montrerCompetencesNiveauBase;
data.data.montrerArchetype = this.options.montrerArchetype;
let compCategorieNiveau = RdDUtility.getLevelCategory(); // recup catégorie
data.itemsByType = RdDUtility.buildItemsClassification(data.items);
// Competence per category
data.competenceByCategory = {};
let competenceXPTotal = 0;
@ -54,7 +51,7 @@ export class RdDActorSheet extends ActorSheet {
if (!RdDUtility.isTronc( item.name ) ) // Ignorer les compétences 'troncs' à ce stade
competenceXPTotal += RdDUtility.computeCompetenceXPCost(item);
item.data.afficherCompetence = true;
if ( data.data.cacherCompetencesNiveauBase && (Number(item.data.niveau) == Number(compCategorieNiveau[item.data.categorie]) ) ) {
if ( data.data.montrerCompetencesNiveauBase && (Number(item.data.niveau) == Number(compCategorieNiveau[item.data.categorie]) ) ) {
item.data.afficherCompetence = false;
}
list.push(item);
@ -170,31 +167,6 @@ export class RdDActorSheet extends ActorSheet {
d.render(true);
}
/* -------------------------------------------- */
afficheResumeArchetype() {
let levelCategory = RdDUtility.getLevelCategory();
let labelCategory = RdDUtility.getLabelCategory();
let contentHTML = "";
for (let compCategory in this.competenceByCategory) {
console.log(">>>>", compCategory);
contentHTML += "<br><b>" + labelCategory[compCategory] + "</b>";
for (let comp of this.competenceByCategory[compCategory]) {
if ( !comp.data.niveau_archetype ) comp.data.niveau_archetype = levelCategory[compCategory];
contentHTML += "<br>" + comp.name + " : " + comp.data.niveau_archetype;
}
}
let dialogData = {
content: contentHTML,
buttons: {
one: {
icon: '<i class="fas fa-check"></i>',
label: "Fermer"
}
}
}
new Dialog( dialogData ).render(true);
}
/* -------------------------------------------- */
async createEmptyTache( ) {
await this.actor.createOwnedItem( { name: 'Nouvelle tache', type: 'tache'}, { renderSheet: true } );
@ -419,6 +391,11 @@ export class RdDActorSheet extends ActorSheet {
let compName = event.currentTarget.attributes.compname.value;
this.actor.updateCompetenceXP( compName, parseInt(event.target.value) );
} );
// On competence archetype change
html.find('.competence-archetype').change((event) => {
let compName = event.currentTarget.attributes.compname.value;
this.actor.updateCompetenceArchetype( compName, parseInt(event.target.value) );
} );
}
// Gestion du bouton lock/unlock
@ -426,8 +403,12 @@ export class RdDActorSheet extends ActorSheet {
this.options.editCaracComp = !this.options.editCaracComp;
this.render(true);
});
html.find('.show-hide-competences').click((event) => {
this.options.cacherCompetencesNiveauBase = !this.options.cacherCompetencesNiveauBase;
html.find('#show-hide-competences').click((event) => {
this.options.montrerCompetencesNiveauBase = !this.options.montrerCompetencesNiveauBase;
this.render(true);
});
html.find('#show-hide-archetype').click((event) => {
this.options.montrerArchetype = !this.options.montrerArchetype;
this.render(true);
});
@ -458,12 +439,6 @@ export class RdDActorSheet extends ActorSheet {
html.find('#ethylisme').change((event) => {
this.actor.setEthylisme(parseInt(event.target.value) );
} );
// Dialog d'archetype
html.find("#affiche-archetype").click((event) => {
this.afficheResumeArchetype()
} );
html.find('#stress-test').click((event) => {
this.actor.stressTest();
this.render(true);