-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathunifiedWorker_old.js
97 lines (88 loc) · 3.85 KB
/
unifiedWorker_old.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
// /* eslint-disable */
// import voymod from './voymod.js';
// import transwarp from './transwarp.js';
// import sporedrive from './sporedrive.js';
// import voyagers from './voyagers.js';
// import Optimizer from './optimizer.js';
// import BetaTachyon from './betatachyon.ts';
// import CollectionOptimizer from './collectionworker.ts';
// import ItemsWorker from './itemsworker.ts';
// import QuestSolver from './questsolver.ts';
// self.addEventListener('message', message => {
// const postResult = (result, inProgress) => {
// self.postMessage({ result, inProgress });
// if (!inProgress) self.close();
// };
// const messageHandlers = {
// 'voyageEstimate': () => voyageEstimate(message.data.config, est => postResult(est, true)).then(estimate =>
// postResult(estimate, false)
// ),
// 'voyageEstimateExtended': () => voyageEstimateExtended(message.data.config, est => postResult(est, true)).then(estimate =>
// postResult(estimate, false)
// ),
// 'citeOptimizer': () => citeOptimizer(message.data.playerData, message.data.allCrew).then(data => postResult(data, false)),
// 'questSolver': () => QuestSolver.solveQuest(message.data.config).then(data => postResult(data, false)),
// 'ironywrit': () => BetaTachyon.scanCrew(message.data.config).then(data => postResult(data, false)),
// 'colOptimizer': () => CollectionOptimizer.scanAll(message.data.config).then(data => postResult(data, false)),
// 'equipmentWorker': () => ItemsWorker.processItems(message.data.config).then(data => postResult(data, false)),
// 'iampicard': () => voymod().then(mod => {
// let result = mod.calculate(JSON.stringify(message.data), res => {
// postResult(res, true);
// });
// postResult(result, false);
// }),
// 'ussjohnjay': () => voyagers.forDataCore(message.data, postResult, transwarp.getEstimate)
// };
// //console.log(message.data.worker);
// messageHandlers[message.data.worker]();
// });
// // This worker can estimate a single lineup from input config
// const voyageEstimate = (config, progress) => {
// return new Promise((resolve, reject) => {
// let estimate = transwarp.getEstimate(config, progress);
// resolve(estimate);
// });
// };
// // This worker can estimate a single lineup from input config
// const voyageEstimateExtended = (config, progress) => {
// return new Promise((resolve, reject) => {
// let estimate = sporedrive.getEstimate(config, progress);
// resolve(estimate);
// });
// };
// /**
// *
// * @param {import('../model/player.js').PlayerData} playerData
// * @param {import('../model/crew.js').CrewMember[]} allCrew
// * @returns
// */
// const citeOptimizer = (playerData, allCrew) => {
// /**
// * @param {import('../model/player.js').PlayerCrew} c
// */
// const isImmortal = (c) => {
// return c.level === 100 && c.equipment?.length === 4 && c.rarity === c.max_rarity;
// }
// return new Promise((resolve, reject) => {
// if (playerData.citeMode && playerData.citeMode.rarities?.length) {
// playerData = JSON.parse(JSON.stringify(playerData));
// playerData.player.character.crew = playerData.player.character.crew
// .filter((crew) => playerData.citeMode.rarities.includes(crew.max_rarity));
// }
// Optimizer.assessCrewRoster(playerData, allCrew);
// Optimizer.sortVoyageRankings();
// Optimizer.findCurrentBestCrew();
// Optimizer.findBestForRarity();
// Optimizer.findCrewToTrain();
// Optimizer.findEVContributionOfCrewToTrain();
// Optimizer.sortCrewToTrain();
// Optimizer.findBestCitedCrew();
// Optimizer.findCrewToCite();
// Optimizer.findEVContributionOfCrewToCite();
// Optimizer.sortCrewToCite();
// resolve({
// crewToCite: Optimizer.rankedCrewToCite,
// crewToTrain: Optimizer.rankedCrewToTrain
// });
// });
// };