Use the copies file to determine how many of each card to make
Currently hardcoded to use a default of 2 per card, should be a setting at some point
This commit is contained in:
parent
30f321b3d8
commit
e7f411d5e2
@ -8,6 +8,7 @@
|
|||||||
useLibrary('project');
|
useLibrary('project');
|
||||||
useLibrary('imageutils');
|
useLibrary('imageutils');
|
||||||
useLibrary('uilayout');
|
useLibrary('uilayout');
|
||||||
|
importClass(arkham.project.CopiesList);
|
||||||
|
|
||||||
// The resolution (in pixels per inch) of the exported images
|
// The resolution (in pixels per inch) of the exported images
|
||||||
const RESOLUTION = 200;
|
const RESOLUTION = 200;
|
||||||
@ -121,6 +122,18 @@ function makeSavedObjectJSON(objects, save_name) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Hack to override the default return value of 1
|
||||||
|
function copyCount(copies_list, name) {
|
||||||
|
const entries = copies_list.getListEntries().map(function (x) {
|
||||||
|
return String(x);
|
||||||
|
});
|
||||||
|
if (entries.indexOf(String(name)) == -1) {
|
||||||
|
return 2;
|
||||||
|
} else {
|
||||||
|
return copies_list.getCopyCount(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function run() {
|
function run() {
|
||||||
const ttsDeckAction = JavaAdapter(TaskAction, {
|
const ttsDeckAction = JavaAdapter(TaskAction, {
|
||||||
getLabel: function getLabel() {
|
getLabel: function getLabel() {
|
||||||
@ -152,6 +165,14 @@ function run() {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
performImpl: function performImpl(member) {
|
performImpl: function performImpl(member) {
|
||||||
|
let copies_list;
|
||||||
|
try {
|
||||||
|
copies_list = new CopiesList(member);
|
||||||
|
} catch (ex) {
|
||||||
|
copies_list = new CopiesList();
|
||||||
|
alert("unable to read copies list, using card count of 2 for all files", true);
|
||||||
|
}
|
||||||
|
|
||||||
const children = member.getChildren();
|
const children = member.getChildren();
|
||||||
const cards = children.filter(function (child) {
|
const cards = children.filter(function (child) {
|
||||||
if (ProjectUtilities.matchExtension(child, 'eon')) {
|
if (ProjectUtilities.matchExtension(child, 'eon')) {
|
||||||
@ -177,8 +198,11 @@ function run() {
|
|||||||
try {
|
try {
|
||||||
let component = ResourceKit.getGameComponentFromFile(card.file);
|
let component = ResourceKit.getGameComponentFromFile(card.file);
|
||||||
let sheets = component.createDefaultSheets();
|
let sheets = component.createDefaultSheets();
|
||||||
|
let copies = copyCount(copies_list, card.baseName);
|
||||||
|
|
||||||
|
for (let ii = 0; ii < copies; ii++) {
|
||||||
card_jsons.push(makeCardJSON(100 + index, component.getName()));
|
card_jsons.push(makeCardJSON(100 + index, component.getName()));
|
||||||
|
}
|
||||||
|
|
||||||
// export front face
|
// export front face
|
||||||
// TODO: handle two-sided cards
|
// TODO: handle two-sided cards
|
||||||
|
Loading…
Reference in New Issue
Block a user