File size: 1,124 Bytes
b450bdd
7724b6d
 
 
 
 
 
 
 
 
 
 
 
 
4f0862a
 
 
 
7724b6d
4f0862a
 
7724b6d
 
4f0862a
 
7724b6d
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// ../auto-battler/src/render/spriteSheet.js
var SHEET_ROWS = 4;
var cellOf = (height) => Math.round(height / SHEET_ROWS);
function sliceGridWith(pixi, texture, cell = cellOf(texture.source.height)) {
  const { Texture, Rectangle } = pixi;
  const src = texture.source;
  const rows = Math.max(1, Math.round(src.height / cell));
  const cols = Math.max(1, Math.round(src.width / cell));
  return Array.from({ length: rows }, (_, r) => Array.from({ length: cols }, (_2, c) => new Texture({ source: src, frame: new Rectangle(c * cell, r * cell, cell, cell) })));
}
var rowFramesWith = (pixi, texture, row = 0) => {
  const g = sliceGridWith(pixi, texture);
  return g[row] ?? g[0];
};
var ANIM = { idle: 0.12, walk: 0.18, attack: 0.3, dmg: 0.25, die: 0.28 };
var ROW_FOR = { "front-right": 0, "front-left": 1, "back-right": 2, "back-left": 3 };
var rowFor = (grid, facing) => grid[ROW_FOR[facing]] ?? grid[0];
var facingFor = (faceX, faceY) => (faceY < 0 ? "back" : "front") + "-" + (faceX < 0 ? "left" : "right");
export {
  ANIM,
  ROW_FOR,
  SHEET_ROWS,
  cellOf,
  facingFor,
  rowFor,
  rowFramesWith,
  sliceGridWith
};