41 lines
1.5 KiB
JavaScript
41 lines
1.5 KiB
JavaScript
import { initFunctions } from '@cookiemonsterteam/cookiemonsterframework';
|
|
import { VersionMajor, VersionMinor } from '../Data/Moddata.ts';
|
|
import CMDrawHook from '../Disp/DrawHook';
|
|
import CMClickHook from '../Main/ClickHook';
|
|
import InitializeCookieMonster from '../Main/Initialization';
|
|
import CMLoopHook from '../Main/LoopHook';
|
|
import load from './load';
|
|
|
|
/**
|
|
* This creates a init function for the CM object. Per Game code/comments:
|
|
* "this function is called as soon as the mod is registered
|
|
* declare hooks here"
|
|
* It starts the further initialization of CookieMonster and registers hooks
|
|
*/
|
|
export default function init() {
|
|
let proceed = true;
|
|
|
|
// Load Cookie Monster Mod Framework and register mod
|
|
initFunctions.initModFramework();
|
|
window.cookieMonsterFrameworkData.isInitializing = true;
|
|
initFunctions.registerMod('cookieMonsterMod');
|
|
|
|
if (Game.version !== Number(VersionMajor)) {
|
|
// eslint-disable-next-line no-restricted-globals, no-alert
|
|
proceed = confirm(
|
|
`Cookie Monster version ${VersionMajor}.${VersionMinor} is meant for Game version ${VersionMajor}. Loading a different version may cause errors. Do you still want to load Cookie Monster?`,
|
|
);
|
|
}
|
|
if (proceed) {
|
|
InitializeCookieMonster();
|
|
Game.registerHook('click', CMClickHook);
|
|
Game.registerHook('draw', CMDrawHook);
|
|
Game.registerHook('logic', CMLoopHook);
|
|
|
|
// Load default settings if no previous saveData is found
|
|
if (typeof Game.modSaveData.cookieMonsterMod === 'undefined') {
|
|
load('{}');
|
|
}
|
|
}
|
|
}
|