22 lines
780 B
TypeScript
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);
|
|
})();
|