Complete overhaul of code structure and relevant files (#639)

This commit is contained in:
Daniël van Noord
2021-03-14 00:41:14 +01:00
committed by GitHub
parent bb34bce9a5
commit 1bffb58782
163 changed files with 7369 additions and 10882 deletions

View File

@@ -0,0 +1,4 @@
/* eslint-disable prefer-const */
/** Variable that shows if Cookie Moonster is initzializing */
export let isInitializing = false;
export let test;

26
src/InitSaveLoad/init.js Normal file
View File

@@ -0,0 +1,26 @@
/* eslint-disable no-unused-vars */
import { VersionMajor, VersionMinor } from '../Data/Moddata';
import Draw from '../Disp/Draw';
import InitializeCookieMonster from '../Main/Initialization';
import CMLoop from '../Main/Loop';
import { isInitializing } from './Variables';
/**
* 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() {
isInitializing = true;
let proceed = true;
if (Game.version !== Number(VersionMajor)) {
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('draw', Draw);
Game.registerHook('logic', CMLoop);
isInitializing = false;
}
}

17
src/InitSaveLoad/load.js Normal file
View File

@@ -0,0 +1,17 @@
import { LoadConfig } from '../Config/SaveLoadReload/SaveLoadReloadSettings';
import { VersionMajor, VersionMinor } from '../Data/Moddata';
import InitData from '../Sim/InitializeData/InitData';
/**
* This creates a load function to the CM object. Per Game code/comments:
* "do stuff with the string data you saved previously"
*/
export default function load(str) {
const save = JSON.parse(str);
InitData();
LoadConfig(save.settings);
if (save.version !== `${VersionMajor}.${VersionMinor}`) {
if (Game.prefs.popups) Game.Popup('A new version of Cookie Monster has been loaded, check out the release notes in the info tab!');
else Game.Notify('A new version of Cookie Monster has been loaded, check out the release notes in the info tab!', '', '', 0, 1);
}
}

14
src/InitSaveLoad/save.js Normal file
View File

@@ -0,0 +1,14 @@
import { CMOptions } from '../Config/VariablesAndData';
import { VersionMajor, VersionMinor } from '../Data/Moddata';
/**
* This creates a save function to the CM object. Per Game code/comments:
* "use this to store persistent data associated with your mod
* return 'a string to be saved';"
*/
export default function save() {
return JSON.stringify({
settings: CMOptions,
version: `${VersionMajor}.${VersionMinor}`,
});
}