idle-economy/simulator/src/run.ts

22 lines
780 B
TypeScript

import { defaultGameRulesOptions } from '@idle-economy/engine/src/rulesets/rules';
import { ConsoleSimulator } from './ConsoleSimulator';
import commandLineArgs from 'command-line-args';
import json5 from 'json5';
process.on('SIGTERM', () => {
// Clean up resources and exit
process.exit(0);
});
const optionDefinitions: commandLineArgs.OptionDefinition[] = [
{ name: 'time', alias: 't', type: Number, defaultValue: 60 },
{ name: 'rules', alias: 'r', type: String, defaultValue: JSON.stringify(defaultGameRulesOptions) },
];
const options = commandLineArgs(optionDefinitions);
(async () => {
const simulator = new ConsoleSimulator({});
simulator.simulation.initialize(json5.parse(options.rules));
await simulator.simulation.run(options.time);
})();