forked from public/fvtt-cthulhu-eternal
92 lines
3.0 KiB
JavaScript
92 lines
3.0 KiB
JavaScript
|
// System Module Imports
|
||
|
import { ActionHandler } from './action-handler.js'
|
||
|
import { RollHandler as Core } from './roll-handler.js'
|
||
|
import { SYSTEM } from './constants.js'
|
||
|
import { DEFAULTS } from './defaults.js'
|
||
|
|
||
|
export let SystemManager = null
|
||
|
|
||
|
Hooks.once('tokenActionHudCoreApiReady', async (coreModule) => {
|
||
|
/**
|
||
|
* Extends Token Action HUD Core's SystemManager class
|
||
|
*/
|
||
|
SystemManager = class SystemManager extends coreModule.api.SystemManager {
|
||
|
/**
|
||
|
* Returns an instance of the ActionHandler to Token Action HUD Core
|
||
|
* Called by Token Action HUD Core
|
||
|
* @override
|
||
|
* @returns {class} The ActionHandler instance
|
||
|
*/
|
||
|
getActionHandler () {
|
||
|
return new ActionHandler()
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns a list of roll handlers to Token Action HUD Core
|
||
|
* Used to populate the Roll Handler module setting choices
|
||
|
* Called by Token Action HUD Core
|
||
|
* @override
|
||
|
* @returns {object} The available roll handlers
|
||
|
*/
|
||
|
getAvailableRollHandlers () {
|
||
|
const coreTitle = 'Core Template'
|
||
|
const choices = { core: coreTitle }
|
||
|
return choices
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns an instance of the RollHandler to Token Action HUD Core
|
||
|
* Called by Token Action HUD Core
|
||
|
* @override
|
||
|
* @param {string} rollHandlerId The roll handler ID
|
||
|
* @returns {class} The RollHandler instance
|
||
|
*/
|
||
|
getRollHandler (rollHandlerId) {
|
||
|
let rollHandler
|
||
|
switch (rollHandlerId) {
|
||
|
case 'core':
|
||
|
default:
|
||
|
rollHandler = new Core()
|
||
|
break
|
||
|
}
|
||
|
return rollHandler
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns the default layout and groups to Token Action HUD Core
|
||
|
* Called by Token Action HUD Core
|
||
|
* @returns {object} The default layout and groups
|
||
|
*/
|
||
|
async registerDefaults () {
|
||
|
return DEFAULTS
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Register Token Action HUD system module settings
|
||
|
* Called by Token Action HUD Core
|
||
|
* @override
|
||
|
* @param {function} coreUpdate The Token Action HUD Core update function
|
||
|
*/
|
||
|
registerSettings (coreUpdate) {
|
||
|
/*systemSettings.register(coreUpdate)*/
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns styles to Token Action HUD Core
|
||
|
* Called by Token Action HUD Core
|
||
|
* @override
|
||
|
* @returns {object} The TAH system styles
|
||
|
*/
|
||
|
registerStyles () {
|
||
|
return {
|
||
|
template: {
|
||
|
class: 'tah-style-template-style', // The class to add to first DIV element
|
||
|
file: 'tah-template-style', // The file without the css extension
|
||
|
moduleId: SYSTEM.ID, // The module ID
|
||
|
name: 'Template Style' // The name to display in the Token Action HUD Core 'Style' module setting
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
})
|