arx-level-generator
Version:
A tool for creating Arx Fatalis maps
102 lines • 4.96 kB
JavaScript
import path from 'node:path';
export var HudElements;
(function (HudElements) {
HudElements["Minimap"] = "minimap";
HudElements["Healthbar"] = "healthbar";
HudElements["Manabar"] = "manabar";
HudElements["StealthIndicator"] = "stealth-indicator";
HudElements["StealingIcon"] = "stealing-icon";
HudElements["LevelUpIcon"] = "level-up-icon";
HudElements["BookIcon"] = "book-icon";
HudElements["BackpackIcon"] = "backpack-icon";
HudElements["PurseIcon"] = "purse-icon";
})(HudElements || (HudElements = {}));
export class HUD {
elementVisibility = {
[HudElements.Minimap]: true,
[HudElements.Healthbar]: true,
[HudElements.Manabar]: true,
[HudElements.StealthIndicator]: true,
[HudElements.StealingIcon]: true,
[HudElements.LevelUpIcon]: true,
[HudElements.BookIcon]: true,
[HudElements.BackpackIcon]: true,
[HudElements.PurseIcon]: true,
};
hide(hudElement) {
if (hudElement === 'all') {
for (const key in this.elementVisibility) {
this.elementVisibility[key] = false;
}
}
else {
this.elementVisibility[hudElement] = false;
}
}
show(hudElement) {
if (hudElement === 'all') {
for (const key in this.elementVisibility) {
this.elementVisibility[key] = true;
}
}
else {
this.elementVisibility[hudElement] = true;
}
}
exportSourcesAndTargets(settings) {
const files = {};
if (this.elementVisibility[HudElements.Minimap] === false) {
const source = path.resolve(settings.internalAssetsDir, 'reset/blank-360x532.bmp');
const target = path.resolve(settings.outputDir, `graph/levels/level${settings.levelIdx}/map.bmp`);
files[target] = source;
}
if (this.elementVisibility[HudElements.Healthbar] === false) {
const source1 = path.resolve(settings.internalAssetsDir, 'reset/blank-330x800.bmp');
const target1 = path.resolve(settings.outputDir, 'graph/interface/bars/empty_gauge_red.bmp');
files[target1] = source1;
const source2 = path.resolve(settings.internalAssetsDir, 'reset/blank-330x800.bmp');
const target2 = path.resolve(settings.outputDir, 'graph/interface/bars/filled_gauge_red.bmp');
files[target2] = source2;
}
if (this.elementVisibility[HudElements.Manabar] === false) {
const source1 = path.resolve(settings.internalAssetsDir, 'reset/blank-330x800.bmp');
const target1 = path.resolve(settings.outputDir, 'graph/interface/bars/empty_gauge_blue.bmp');
files[target1] = source1;
const source2 = path.resolve(settings.internalAssetsDir, 'reset/blank-330x800.bmp');
const target2 = path.resolve(settings.outputDir, 'graph/interface/bars/filled_gauge_blue.bmp');
files[target2] = source2;
}
if (this.elementVisibility[HudElements.StealthIndicator] === false) {
const source = path.resolve(settings.internalAssetsDir, 'reset/blank-32x32.bmp');
const target = path.resolve(settings.outputDir, 'graph/interface/icons/stealth_gauge.bmp');
files[target] = source;
}
if (this.elementVisibility[HudElements.StealingIcon] === false) {
const source = path.resolve(settings.internalAssetsDir, 'reset/blank-128x128.bmp');
const target = path.resolve(settings.outputDir, 'graph/interface/icons/steal.bmp');
files[target] = source;
}
if (this.elementVisibility[HudElements.LevelUpIcon] === false) {
const source = path.resolve(settings.internalAssetsDir, 'reset/blank-32x32.bmp');
const target = path.resolve(settings.outputDir, 'graph/interface/icons/lvl_up.bmp');
files[target] = source;
}
if (this.elementVisibility[HudElements.BookIcon] === false) {
const source = path.resolve(settings.internalAssetsDir, 'reset/blank-32x32.bmp');
const target = path.resolve(settings.outputDir, 'graph/interface/icons/book.bmp');
files[target] = source;
}
if (this.elementVisibility[HudElements.BackpackIcon] === false) {
const source = path.resolve(settings.internalAssetsDir, 'reset/blank-32x32.bmp');
const target = path.resolve(settings.outputDir, 'graph/interface/icons/backpack.bmp');
files[target] = source;
}
if (this.elementVisibility[HudElements.PurseIcon] === false) {
const source = path.resolve(settings.internalAssetsDir, 'reset/blank-32x32.bmp');
const target = path.resolve(settings.outputDir, 'graph/interface/inventory/gold.bmp');
files[target] = source;
}
return files;
}
}
//# sourceMappingURL=HUD.js.map