debut group sheet

This commit is contained in:
rwanoux
2024-05-15 10:37:06 +02:00
parent 5c3301b88e
commit cf4b6a2b01
3 changed files with 65 additions and 51 deletions
+7
View File
@@ -9,6 +9,13 @@
-[ ] fixer les cases hexas , comprtement chelou , piste = un click à l'air d'envoyer 2 update, verifier le onChange -[ ] fixer les cases hexas , comprtement chelou , piste = un click à l'air d'envoyer 2 update, verifier le onChange
-[ ] dialog d'edition des min-max -[ ] dialog d'edition des min-max
### fiche de groupe
-[ ] pas encore penché dessus
### fiche de pnj créature
-[ ]à faire
### les jets de dés ### les jets de dés
- [ ] envoyer les spécialités utilisables au rollDialog - [ ] envoyer les spécialités utilisables au rollDialog
+43 -43
View File
@@ -1,4 +1,4 @@
import {onManageActiveEffect, prepareActiveEffectCategories} from "../system/effects.mjs"; import { onManageActiveEffect, prepareActiveEffectCategories } from "../system/effects.mjs";
import { VermineActorSheet } from "./actor-sheet.mjs"; import { VermineActorSheet } from "./actor-sheet.mjs";
import { TotemPicker, ActorPicker } from "../system/applications.mjs"; import { TotemPicker, ActorPicker } from "../system/applications.mjs";
@@ -41,7 +41,7 @@ export class VermineGroupSheet extends VermineActorSheet {
context.system = actorData.system; context.system = actorData.system;
context.flags = actorData.flags; context.flags = actorData.flags;
context.config = CONFIG.VERMINE; context.config = CONFIG.VERMINE;
// Prepare character data and items. // Prepare character data and items.
if (actorData.type == 'character') { if (actorData.type == 'character') {
this._prepareItems(context); this._prepareItems(context);
@@ -58,7 +58,7 @@ export class VermineGroupSheet extends VermineActorSheet {
} }
// Add roll data for TinyMCE editors. // Add roll data for TinyMCE editors.
context.rollData = context.actor.getRollData(); context.rollData = this.actor.getRollData();
// Prepare active effects // Prepare active effects
context.effects = prepareActiveEffectCategories(this.actor.effects); context.effects = prepareActiveEffectCategories(this.actor.effects);
@@ -92,23 +92,23 @@ export class VermineGroupSheet extends VermineActorSheet {
context.backgrounds = this.actor.itemTypes['background']; context.backgrounds = this.actor.itemTypes['background'];
context.evolutions = this.actor.itemTypes['evolution']; context.evolutions = this.actor.itemTypes['evolution'];
context.traumas = this.actor.itemTypes['trauma']; context.traumas = this.actor.itemTypes['trauma'];
context.gear = this.actor.itemTypes['item']; context.gear = this.actor.itemTypes['item'];
context.weapons = this.actor.itemTypes['weapon']; context.weapons = this.actor.itemTypes['weapon'];
context.defenses = this.actor.itemTypes['defense']; context.defenses = this.actor.itemTypes['defense'];
context.vehicles = this.actor.itemTypes['vehicle']; context.vehicles = this.actor.itemTypes['vehicle'];
context.totem_abilities = this.actor.itemTypes['ability'].filter(i=>i.system.type === 'totem'); context.totem_abilities = this.actor.itemTypes['ability'].filter(i => i.system.type === 'totem');
context.abilities = this.actor.itemTypes['ability'].filter(i=>i.system.type !== 'totem'); context.abilities = this.actor.itemTypes['ability'].filter(i => i.system.type !== 'totem');
context.members = []; context.members = [];
context.encounters = []; context.encounters = [];
for(let memberId of context.actor.system.members){ for (let memberId of context.actor.system.members) {
context.members.push(game.actors.get(memberId)); context.members.push(game.actors.get(memberId));
} }
for(let encounterId of context.actor.system.encounters){ for (let encounterId of context.actor.system.encounters) {
context.encounters.push(game.actors.get(encounterId)); context.encounters.push(game.actors.get(encounterId));
} }
@@ -120,17 +120,17 @@ export class VermineGroupSheet extends VermineActorSheet {
/** @override */ /** @override */
activateListeners(html) { activateListeners(html) {
super.activateListeners(html); super.activateListeners(html);
// Choose Totem // Choose Totem
html.find('.chooseTotem').click(this._onTotemButton.bind(this)); html.find('.chooseTotem').click(this._onTotemButton.bind(this));
// Choose Members / Encounters // Choose Members / Encounters
html.find('.chooseActor').click(this._onRoadButton.bind(this)); html.find('.chooseActor').click(this._onRoadButton.bind(this));
html.find('.member-delete').click(ev => { html.find('.member-delete').click(ev => {
const li = $(ev.currentTarget).parents("li.actor"); const li = $(ev.currentTarget).parents("li.actor");
const actorId = li.data("actor-id"); const actorId = li.data("actor-id");
const actorIdIndex = this.actor.system.members.indexOf(actorId); const actorIdIndex = this.actor.system.members.indexOf(actorId);
if (actorIdIndex !== -1){ if (actorIdIndex !== -1) {
this.actor.system.members.splice(actorIdIndex, 1); this.actor.system.members.splice(actorIdIndex, 1);
} }
this.actor.update({ "system.members": this.actor.system.members }); this.actor.update({ "system.members": this.actor.system.members });
@@ -141,42 +141,42 @@ export class VermineGroupSheet extends VermineActorSheet {
const li = $(ev.currentTarget).parents("li.actor"); const li = $(ev.currentTarget).parents("li.actor");
const actorId = li.data("actor-id"); const actorId = li.data("actor-id");
const actorIdIndex = this.actor.system.encounters.indexOf(actorId); const actorIdIndex = this.actor.system.encounters.indexOf(actorId);
if (actorIdIndex !== -1){ if (actorIdIndex !== -1) {
this.actor.system.encounters.splice(actorIdIndex, 1); this.actor.system.encounters.splice(actorIdIndex, 1);
} }
this.actor.update({ "system.encounters": this.actor.system.encounters }); this.actor.update({ "system.encounters": this.actor.system.encounters });
this.render(true); this.render(true);
}); });
} }
/** /**
* Handle totem pick * Handle totem pick
* @param {Event} event The originating click event * @param {Event} event The originating click event
* @private * @private
*/ */
_onTotemButton(event) { _onTotemButton(event) {
event.preventDefault(); event.preventDefault();
const el = event.currentTarget; const el = event.currentTarget;
// const dataset = el.dataset; // const dataset = el.dataset;
const totemPicker = new TotemPicker(el, this.actor);
totemPicker.render(true);
}
/** const totemPicker = new TotemPicker(el, this.actor);
* Handle actor pick totemPicker.render(true);
* @param {Event} event The originating click event }
* @private
*/
_onRoadButton(event) {
event.preventDefault();
const el = event.currentTarget;
// const dataset = el.dataset;
const actorPicker = new ActorPicker(el, this.actor); /**
actorPicker.render(true); * Handle actor pick
} * @param {Event} event The originating click event
* @private
*/
_onRoadButton(event) {
event.preventDefault();
const el = event.currentTarget;
// const dataset = el.dataset;
const actorPicker = new ActorPicker(el, this.actor);
actorPicker.render(true);
}
} }
+15 -8
View File
@@ -2,13 +2,21 @@
{{!-- Sheet Header --}} {{!-- Sheet Header --}}
{{> "systems/vermine2047/templates/actor/group/group-header.hbs"}} {{> "systems/vermine2047/templates/actor/group/group-header.hbs"}}
{{!-- Sheet Tab Navigation --}} {{!-- Sheet Tab Navigation --}}
<nav class="sheet-tabs tabs" data-group="primary"> <nav class="sheet-tabs tabs sheet-navigation" data-group="primary">
{{!-- Default tab is specified in actor-sheet.mjs --}} {{!-- Default tab is specified in actor-sheet.mjs --}}
<a class="item" data-tab="description">{{localize 'VERMINE.information' }}</a> <a class="item" data-tab="description">
<a class="item" data-tab="gear">{{localize 'VERMINE.gear' }}</a> <i data-tooltip="{{localize 'VERMINE.information' }}"
<a class="item" data-tab="totem">{{localize 'VERMINE.road' }}</a> class="fas fa-star"></i>
</a>
<a class="item" data-tab="gear">
<i data-tooltip="{{localize 'VERMINE.gear' }}" class="fas fa-gear"></i>
</a>
<a class="item" data-tab="totem">
<i data-tooltip="{{localize 'VERMINE.road' }}" class="fas fa-map"></i>
</a>
</nav> </nav>
{{!-- Sheet Body --}} {{!-- Sheet Body --}}
@@ -22,8 +30,8 @@
{{!-- Owned Items Tab --}} {{!-- Owned Items Tab --}}
<div class="tab items" data-group="primary" data-tab="gear"> <div class="tab items" data-group="primary" data-tab="gear">
<h3>{{ localize 'VERMINE.gear'}}</h3> <h3>{{ localize 'VERMINE.gear'}}</h3>
{{> "systems/vermine2047/templates/actor/group/group-items.hbs"}} {{> "systems/vermine2047/templates/actor/group/group-items.hbs"}}
</div> </div>
{{!-- Road Tab --}} {{!-- Road Tab --}}
@@ -34,4 +42,3 @@
</section> </section>
</form> </form>