phaser4-rex-plugins
Version:
55 lines (49 loc) • 1.28 kB
JavaScript
import CONST from './const.js';
const ODD_R = CONST.ODD_R;
const EVEN_R = CONST.EVEN_R;
const ODD_Q = CONST.ODD_Q;
const EVEN_Q = CONST.EVEN_Q;
var Offset = function (src, offsetX, offsetY, out) {
if (out === undefined) {
out = {};
} else if (out === true) {
out = globTileXY;
}
var newX = src.x + offsetX;
var newY = src.y + offsetY;
switch (this.mode) {
case ODD_R:
if ((offsetY & 1) !== 0) {
if ((newY & 1) === 0) {
newX += 1;
}
}
break;
case EVEN_R:
if ((offsetY & 1) !== 0) {
if ((newY & 1) === 0) {
newX -= 1;
}
}
break;
case ODD_Q:
if ((offsetX & 1) !== 0) {
if ((newX & 1) == 0) {
newY += 1;
}
}
break;
case EVEN_Q:
if ((offsetX & 1) !== 0) {
if ((newX & 1) == 0) {
newY -= 1;
}
}
break;
}
out.x = newX;
out.y = newY;
return out;
}
var globTileXY = {};
export default Offset;