Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | 4x 4x 4x 7x 5x 4x 4x 4x 3x 4x 3x 4x 3x 4x 4x 4x | /**
* @module Engine.Maps
* Coords Tools
*/
import { CharactersTools } from '@engine/Characters/CharacterTools';
import { ICharactersState } from '@engine/Characters/reducers';
import { Coord, CoordCharacterFrontend, CoordDatabase } from '@models';
export class CoordsTools {
public static hydrater = (source: CoordDatabase, additionnalData: ICharactersState): Coord => {
const character = additionnalData.find(c => c.mat === source.mat);
return {
x: source.x !== undefined ? source.x : null,
y: source.y !== undefined ? source.y : null,
character: character !== undefined ? character : null,
};
}
public static serializer = (source: Coord): CoordDatabase => {
const coordJson: Partial<CoordDatabase> = {};
if (source.x !== null) {
coordJson.x = source.x;
}
if (source.y !== null) {
coordJson.y = source.y;
}
if (source.character !== null) {
coordJson.mat = source.character.mat;
}
return coordJson as CoordDatabase;
}
public static toFrontend = (source: Coord): CoordCharacterFrontend => {
const character = CharactersTools.toFrontEnd(source.character);
return {
x: source.x,
y: source.y,
character,
type: 'cha',
};
}
public static toFrontendLimited = (source: Coord): CoordCharacterFrontend => {
const character = CharactersTools.toFrontEndLimited(source.character);
return {
x: source.x,
y: source.y,
character,
type: 'cha',
};
}
}
|