forked from ppfun/pixelplanet
be more smarter about when to render templates
This commit is contained in:
parent
3b590c4091
commit
2776f3cea4
|
@ -34,7 +34,7 @@ const METHODS = {
|
||||||
let rplPxl = null;
|
let rplPxl = null;
|
||||||
for (let u = -1; u <= 1; u += 1) {
|
for (let u = -1; u <= 1; u += 1) {
|
||||||
for (let v = -1; v <= 1; v += 1) {
|
for (let v = -1; v <= 1; v += 1) {
|
||||||
if (u === 0 && v === 0) {
|
if (u === 0 && v === 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
pxl = canvasCleaner.getPixelInChunkArea(xc + u, yc + v);
|
pxl = canvasCleaner.getPixelInChunkArea(xc + u, yc + v);
|
||||||
|
@ -61,7 +61,7 @@ const METHODS = {
|
||||||
let rplPxl = null;
|
let rplPxl = null;
|
||||||
for (let u = -1; u <= 1; u += 1) {
|
for (let u = -1; u <= 1; u += 1) {
|
||||||
for (let v = -1; v <= 1; v += 1) {
|
for (let v = -1; v <= 1; v += 1) {
|
||||||
if (u === 0 && v === 0) {
|
if (u === 0 && v === 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
pxl = canvasCleaner.getPixelInChunkArea(xc + u, yc + v);
|
pxl = canvasCleaner.getPixelInChunkArea(xc + u, yc + v);
|
||||||
|
@ -92,7 +92,7 @@ const METHODS = {
|
||||||
const origPxl = pxl;
|
const origPxl = pxl;
|
||||||
for (let u = -1; u <= 1; u += 1) {
|
for (let u = -1; u <= 1; u += 1) {
|
||||||
for (let v = -1; v <= 1; v += 1) {
|
for (let v = -1; v <= 1; v += 1) {
|
||||||
if (u === 0 && v === 0) {
|
if (u === 0 && v === 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
pxl = canvasCleaner.getPixelInChunkArea(xc + u, yc + v);
|
pxl = canvasCleaner.getPixelInChunkArea(xc + u, yc + v);
|
||||||
|
|
|
@ -113,7 +113,7 @@ export function renderOverlay(
|
||||||
tiledScale,
|
tiledScale,
|
||||||
scaleThreshold,
|
scaleThreshold,
|
||||||
) {
|
) {
|
||||||
if (!templateLoader.ready) return;
|
if (!templateLoader.ready || scale < 0.035) return;
|
||||||
const { canvasSize, canvasId } = state.canvas;
|
const { canvasSize, canvasId } = state.canvas;
|
||||||
// world coordinates of center of center chunk
|
// world coordinates of center of center chunk
|
||||||
const [x, y] = centerChunk
|
const [x, y] = centerChunk
|
||||||
|
@ -139,13 +139,14 @@ export function renderOverlay(
|
||||||
context.scale(offscreenScale, offscreenScale);
|
context.scale(offscreenScale, offscreenScale);
|
||||||
context.globalAlpha = state.templates.oOpacity / 100;
|
context.globalAlpha = state.templates.oOpacity / 100;
|
||||||
for (const template of templates) {
|
for (const template of templates) {
|
||||||
|
const tempWidth = template.x - x + width / 2 / offscreenScale;
|
||||||
|
const tempHeight = template.y - y + height / 2 / offscreenScale;
|
||||||
|
if (tempWidth < 1 || tempHeight < 1) continue;
|
||||||
|
|
||||||
const image = templateLoader.getTemplateSync(template.imageId);
|
const image = templateLoader.getTemplateSync(template.imageId);
|
||||||
if (!image) continue;
|
if (!image) continue;
|
||||||
|
|
||||||
context.drawImage(image,
|
context.drawImage(image, tempWidth, tempHeight);
|
||||||
template.x - x + width / 2 / offscreenScale,
|
|
||||||
template.y - y + height / 2 / offscreenScale,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
context.restore();
|
context.restore();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user