Convert to using a module instead of a "static" class
This commit is contained in:
parent
e71d2133f2
commit
82108bfe5f
2 changed files with 72 additions and 66 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import { PlayerActor } from "./Player.mjs";
|
||||
import PlayerActor from "./Player.mjs";
|
||||
|
||||
export class ActorHandler extends Actor {
|
||||
actorTypes = {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
export class PlayerActor {
|
||||
/** @this {Actor} */
|
||||
static async genericEmbeddedUpdate($event) {
|
||||
async function genericEmbeddedUpdate($event) {
|
||||
let data = $event.delegateTarget.dataset;
|
||||
let item = await fromUuid(data.embeddedId);
|
||||
item?.update({ [data.embeddedUpdate]: $event.target.value });
|
||||
|
|
@ -8,7 +7,7 @@ export class PlayerActor {
|
|||
};
|
||||
|
||||
/** @this {Actor} */
|
||||
static async genericEmbeddedDelete($event) {
|
||||
async function genericEmbeddedDelete($event) {
|
||||
let data = $event.currentTarget.dataset;
|
||||
let item = await fromUuid(data.embeddedId);
|
||||
|
||||
|
|
@ -37,7 +36,7 @@ export class PlayerActor {
|
|||
};
|
||||
|
||||
/** @this {Actor} */
|
||||
static async createCustomItem(defaults, opts = {}) {
|
||||
async function createCustomItem(defaults, opts = {}) {
|
||||
let items = await this.createEmbeddedDocuments(`Item`, defaults);
|
||||
if (items.length == 0) {
|
||||
throw new Error();
|
||||
|
|
@ -54,18 +53,25 @@ export class PlayerActor {
|
|||
};
|
||||
|
||||
/** @this {Actor} */
|
||||
static async createCustomAspect() {
|
||||
await PlayerActor.createCustomItem.bind(this)([{
|
||||
async function createCustomAspect() {
|
||||
await createCustomItem.bind(this)([{
|
||||
type: `aspect`,
|
||||
name: game.i18n.format(`dotdungeon.defaults.aspect.name`),
|
||||
}]);
|
||||
};
|
||||
|
||||
/** @this {Actor} */
|
||||
static async createCustomSpell() {
|
||||
await PlayerActor.createCustomItem.bind(this)([{
|
||||
async function createCustomSpell() {
|
||||
await createCustomItem.bind(this)([{
|
||||
type: `spell`,
|
||||
name: game.i18n.format(`dotdungeon.defaults.spell.name`),
|
||||
}]);
|
||||
};
|
||||
|
||||
export default {
|
||||
genericEmbeddedDelete,
|
||||
genericEmbeddedUpdate,
|
||||
createCustomItem,
|
||||
createCustomAspect,
|
||||
createCustomSpell
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue