89 lines
2.3 KiB
TypeScript
89 lines
2.3 KiB
TypeScript
import {PDFFont, PDFPage} from "pdf-lib";
|
|
import {KarakterPdfView} from "./karakter_pdf_view";
|
|
import {SignedNumberToText} from "../components/Helpers";
|
|
|
|
export function DrawMasodlagosErtekek(
|
|
page: PDFPage,
|
|
karakter: KarakterPdfView,
|
|
fontSizeBase: number,
|
|
pdfFont: PDFFont)
|
|
{
|
|
page.drawText(karakter.Mozgas.toString(), {
|
|
x: 162,
|
|
y: 416,
|
|
size: fontSizeBase * 2,
|
|
font: pdfFont,
|
|
})
|
|
page.drawText(SignedNumberToText(karakter.Kezdemenyezes), {
|
|
x: 505,
|
|
y: 416,
|
|
size: fontSizeBase * 2,
|
|
font: pdfFont,
|
|
})
|
|
page.drawText(karakter.HP.toString(), {
|
|
x: 318,
|
|
y: 517,
|
|
size: fontSizeBase * 1.5,
|
|
font: pdfFont,
|
|
})
|
|
page.drawText(karakter.VO.toString(), {
|
|
x: 368,
|
|
y: 495,
|
|
size: fontSizeBase * 3,
|
|
font: pdfFont,
|
|
})
|
|
page.drawText(karakter.PancelVO.toString(), {
|
|
x: 512,
|
|
y: 515,
|
|
size: fontSizeBase * 2,
|
|
font: pdfFont,
|
|
})
|
|
page.drawText(karakter.PajzsVO.toString(), {
|
|
x: 512,
|
|
y: 482,
|
|
size: fontSizeBase * 2,
|
|
font: pdfFont,
|
|
})
|
|
const kozelharciTB = karakter.KozelharciTB.map(SignedNumberToText).join("/")
|
|
|
|
function getFontSize(length: number): number {
|
|
switch (length) {
|
|
case 1:
|
|
case 2:
|
|
return 24;
|
|
case 3:
|
|
return 18;
|
|
case 4:
|
|
return 14;
|
|
case 5:
|
|
return 11;
|
|
case 6:
|
|
return 9;
|
|
case 7:
|
|
return 8;
|
|
default:
|
|
return 6;
|
|
}
|
|
}
|
|
|
|
function getYOffset(length: number): number {
|
|
return Math.min(length - 2, 6);
|
|
}
|
|
|
|
const kozelHarciFontSize = getFontSize(kozelharciTB.length)
|
|
page.drawText(kozelharciTB, {
|
|
x: kozelharciTB.length > 4 ? 256 : 258,
|
|
y: 383 + getYOffset(kozelharciTB.length),
|
|
size: kozelHarciFontSize,
|
|
font: pdfFont,
|
|
})
|
|
const celzoTB = karakter.CelzoTB.map(SignedNumberToText).join("/")
|
|
const celzoFontSize = getFontSize(celzoTB.length)
|
|
page.drawText(celzoTB, {
|
|
x: celzoTB.length > 4 ? 343 : 346,
|
|
y: 383 + getYOffset(celzoTB.length),
|
|
size: celzoFontSize,
|
|
font: pdfFont,
|
|
})
|
|
}
|