Skip to content

Commit d7a5870

Browse files
build
1 parent 05c1d30 commit d7a5870

File tree

12 files changed

+65
-51
lines changed

12 files changed

+65
-51
lines changed

dist/GridEngine.esm.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/GridEngine.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/src/GridCharacter/GridCharacter.d.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { LayerPosition } from "./../Pathfinding/ShortestPathAlgorithm";
1+
import { LayerVecPos } from "./../Pathfinding/ShortestPathAlgorithm";
22
import { NumberOfDirections } from "./../Direction/Direction";
33
import { Direction } from "../Direction/Direction";
4-
import { GridTilemap, LayerName } from "../GridTilemap/GridTilemap";
4+
import { GridTilemap } from "../GridTilemap/GridTilemap";
55
import { Subject } from "rxjs";
6-
import { Position } from "../GridEngine";
6+
import { CharLayer, Position } from "../GridEngine";
77
import { Movement } from "../Movement/Movement";
88
import { Vector2 } from "../Utils/Vector2/Vector2";
99
import * as Phaser from "phaser";
@@ -12,8 +12,8 @@ export declare type GameObject = Phaser.GameObjects.Container | Phaser.GameObjec
1212
export interface PositionChange {
1313
exitTile: Position;
1414
enterTile: Position;
15-
exitLayer: LayerName;
16-
enterLayer: LayerName;
15+
exitLayer: CharLayer;
16+
enterLayer: CharLayer;
1717
}
1818
export interface CharConfig {
1919
tilemap: GridTilemap;
@@ -58,16 +58,16 @@ export declare class GridCharacter {
5858
setMovement(movement?: Movement): void;
5959
getMovement(): Movement | undefined;
6060
collidesWithTiles(): boolean;
61-
setTilePosition(tilePosition: LayerPosition): void;
62-
getTilePos(): LayerPosition;
63-
getNextTilePos(): LayerPosition;
61+
setTilePosition(tilePosition: LayerVecPos): void;
62+
getTilePos(): LayerVecPos;
63+
getNextTilePos(): LayerVecPos;
6464
getTileWidth(): number;
6565
getTileHeight(): number;
6666
move(direction: Direction): void;
6767
update(delta: number): void;
6868
getMovementDirection(): Direction;
6969
isBlockingDirection(direction: Direction): boolean;
70-
isTileBlocking(direction: Direction, layerInDirection: LayerName): boolean;
70+
isTileBlocking(direction: Direction, layerInDirection: CharLayer): boolean;
7171
private isCharBlocking;
7272
isMoving(): boolean;
7373
turnTowards(direction: Direction): void;
@@ -89,11 +89,11 @@ export declare class GridCharacter {
8989
movementStarted(): Subject<Direction>;
9090
movementStopped(): Subject<Direction>;
9191
directionChanged(): Subject<Direction>;
92-
tilePositionSet(): Subject<LayerPosition>;
92+
tilePositionSet(): Subject<LayerVecPos>;
9393
positionChangeStarted(): Subject<PositionChange>;
9494
positionChangeFinished(): Subject<PositionChange>;
9595
autoMovementSet(): Subject<Movement | undefined>;
96-
depthChanged(): Subject<LayerPosition>;
96+
depthChanged(): Subject<LayerVecPos>;
9797
getMovementProgress(): number;
9898
hasWalkedHalfATile(): boolean;
9999
private updateCharacterPosition;

dist/src/GridEngine.d.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,26 @@ import { CollisionStrategy } from "./Collisions/CollisionStrategy";
22
import { Finished, MoveToConfig, MoveToResult } from "./Movement/TargetMovement/TargetMovement";
33
import { PositionChange } from "./GridCharacter/GridCharacter";
44
import { Direction, NumberOfDirections } from "./Direction/Direction";
5-
import { LayerName } from "./GridTilemap/GridTilemap";
65
import { Observable } from "rxjs";
76
import { NoPathFoundStrategy } from "./Pathfinding/NoPathFoundStrategy";
87
import { PathBlockedStrategy } from "./Pathfinding/PathBlockedStrategy";
98
import { MovementInfo } from "./Movement/Movement";
109
import { CharacterIndex, FrameRow } from "./GridCharacter/CharacterAnimation/CharacterAnimation";
1110
import { CharacterFilteringOptions } from "./GridCharacter/CharacterFilter/CharacterFilter";
12-
export { CollisionStrategy, CharacterFilteringOptions, Direction, MoveToConfig, MoveToResult, Finished, FrameRow, NumberOfDirections, NoPathFoundStrategy, PathBlockedStrategy, LayerName, MovementInfo, PositionChange, };
11+
export { CollisionStrategy, CharacterFilteringOptions, Direction, MoveToConfig, MoveToResult, Finished, FrameRow, NumberOfDirections, NoPathFoundStrategy, PathBlockedStrategy, MovementInfo, PositionChange, };
1312
export declare type TileSizePerSecond = number;
1413
export interface Position {
1514
x: number;
1615
y: number;
1716
}
17+
/**
18+
* Specifies a tile position along with a character layer.
19+
*/
20+
export interface LayerPosition {
21+
position: Position;
22+
charLayer: CharLayer;
23+
}
24+
export declare type CharLayer = string | undefined;
1825
/**
1926
* Configuration object for initializing GridEngine.
2027
*/
@@ -461,11 +468,16 @@ export declare class GridEngine {
461468
* will be overwritten.
462469
*/
463470
setCollisionGroups(charId: string, collisionGroups: string[]): void;
471+
/**
472+
* Gets the tile position and character layer adjacent to the given
473+
* position in the given direction.
474+
*/
475+
getTilePosInDirection(position: Position, charLayer: string | undefined, direction: Direction): LayerPosition;
464476
/**
465477
* @returns Observable that, whenever a specified position is entered on optionally provided layers,
466478
* will notify with the target characters position change
467479
*/
468-
steppedOn(charIds: string[], tiles: Position[], layer?: LayerName[]): Observable<{
480+
steppedOn(charIds: string[], tiles: Position[], layer?: CharLayer[]): Observable<{
469481
charId: string;
470482
} & PositionChange>;
471483
/**

dist/src/GridTilemap/CharBlockCache/CharBlockCache.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { GridCharacter } from "../../GridCharacter/GridCharacter";
2+
import { CharLayer } from "../../GridEngine";
23
import { Vector2 } from "../../Utils/Vector2/Vector2";
3-
import { LayerName } from "../GridTilemap";
44
export declare class CharBlockCache {
55
private tilePosToCharacters;
66
private charRemoved$;
7-
isCharBlockingAt(pos: Vector2, layer: LayerName, collisionGroups: string[], exclude?: Set<string>): boolean;
7+
isCharBlockingAt(pos: Vector2, layer: CharLayer, collisionGroups: string[], exclude?: Set<string>): boolean;
88
getCharactersAt(pos: Vector2, layer: string): Set<GridCharacter>;
99
addCharacter(character: GridCharacter): void;
1010
removeCharacter(character: GridCharacter): void;

dist/src/GridTilemap/GridTilemap.d.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { Direction } from "./../Direction/Direction";
22
import { Vector2 } from "../Utils/Vector2/Vector2";
33
import { GridCharacter } from "../GridCharacter/GridCharacter";
4-
export declare type LayerName = string | undefined;
4+
import { LayerVecPos } from "../Pathfinding/ShortestPathAlgorithm";
5+
import { CharLayer } from "../GridEngine";
56
export declare class GridTilemap {
67
private tilemap;
78
private static readonly ALWAYS_TOP_PROP_NAME;
@@ -20,20 +21,21 @@ export declare class GridTilemap {
2021
getCharactersAt(position: Vector2, layer: string): Set<GridCharacter>;
2122
hasBlockingTile(pos: Vector2, charLayer: string | undefined, direction?: Direction): boolean;
2223
getTransition(pos: Vector2, fromLayer?: string): string | undefined;
23-
setTransition(pos: Vector2, fromLayer: LayerName, toLayer: LayerName): void;
24-
getTransitions(): Map<LayerName, Map<LayerName, LayerName>>;
24+
setTransition(pos: Vector2, fromLayer: CharLayer, toLayer: CharLayer): void;
25+
getTransitions(): Map<CharLayer, Map<CharLayer, CharLayer>>;
2526
hasNoTile(pos: Vector2, charLayer?: string): boolean;
2627
hasBlockingChar(pos: Vector2, layer: string | undefined, collisionGroups: string[], exclude?: Set<string>): boolean;
2728
getTileWidth(): number;
2829
getTileHeight(): number;
29-
getDepthOfCharLayer(layerName: LayerName): number;
30+
getDepthOfCharLayer(layerName: CharLayer): number;
3031
isInRange(pos: Vector2): boolean;
3132
getTileSize(): Vector2;
3233
tilePosToPixelPos(tilePosition: Vector2): Vector2;
3334
getTileDistance(direction: Direction): Vector2;
3435
toMapDirection(direction: Direction): Direction;
3536
fromMapDirection(direction: Direction): Direction;
3637
isIsometric(): boolean;
38+
getTilePosInDirection(position: LayerVecPos, direction: Direction): LayerVecPos;
3739
private isLayerBlockingAt;
3840
private getCharLayerIndexes;
3941
private findPrevAndCharLayer;

dist/src/Movement/TargetMovement/TargetMovement.d.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
import { LayerName } from "./../../GridTilemap/GridTilemap";
21
import { NoPathFoundStrategy } from "./../../Pathfinding/NoPathFoundStrategy";
3-
import { LayerPosition } from "./../../Pathfinding/ShortestPathAlgorithm";
2+
import { LayerVecPos } from "./../../Pathfinding/ShortestPathAlgorithm";
43
import { GridTilemap } from "../../GridTilemap/GridTilemap";
54
import { GridCharacter } from "../../GridCharacter/GridCharacter";
65
import { Movement, MovementInfo } from "../Movement";
76
import { PathBlockedStrategy } from "../../Pathfinding/PathBlockedStrategy";
87
import { ShortestPathAlgorithm } from "../../Pathfinding/ShortestPathAlgorithm";
9-
import { Position } from "../../GridEngine";
8+
import { CharLayer, Position } from "../../GridEngine";
109
import { Subject } from "rxjs";
1110
export interface MoveToConfig {
1211
/**
@@ -86,7 +85,7 @@ export interface Finished {
8685
position: Position;
8786
result?: MoveToResult;
8887
description?: string;
89-
layer: LayerName;
88+
layer: CharLayer;
9089
}
9190
export interface Options {
9291
distance?: number;
@@ -114,12 +113,12 @@ export declare class TargetMovement implements Movement {
114113
private distance;
115114
private isPositionAllowed;
116115
private shortestPathAlgorithm;
117-
constructor(character: GridCharacter, tilemap: GridTilemap, targetPos: LayerPosition, { config, ignoreBlockedTarget, distance, shortestPathAlgorithm, }?: Options);
116+
constructor(character: GridCharacter, tilemap: GridTilemap, targetPos: LayerVecPos, { config, ignoreBlockedTarget, distance, shortestPathAlgorithm, }?: Options);
118117
setPathBlockedStrategy(pathBlockedStrategy: PathBlockedStrategy): void;
119118
getPathBlockedStrategy(): PathBlockedStrategy;
120119
private setCharacter;
121120
update(delta: number): void;
122-
getNeighbors: (pos: LayerPosition) => LayerPosition[];
121+
getNeighbors: (pos: LayerVecPos) => LayerVecPos[];
123122
finishedObs(): Subject<Finished>;
124123
getInfo(): MovementInfo;
125124
private resultToReason;

dist/src/Pathfinding/Bfs/Bfs.d.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { GetNeighbors, LayerPosition, ShortestPathAlgorithm } from "./../ShortestPathAlgorithm";
1+
import { GetNeighbors, LayerVecPos, ShortestPathAlgorithm } from "./../ShortestPathAlgorithm";
22
export declare class Bfs implements ShortestPathAlgorithm {
3-
getShortestPath(startPos: LayerPosition, targetPos: LayerPosition, getNeighbors: GetNeighbors): {
4-
path: LayerPosition[];
5-
closestToTarget: LayerPosition;
3+
getShortestPath(startPos: LayerVecPos, targetPos: LayerVecPos, getNeighbors: GetNeighbors): {
4+
path: LayerVecPos[];
5+
closestToTarget: LayerVecPos;
66
};
77
private distance;
88
private pos2Str;

dist/src/Pathfinding/BidirectionalSearch/BidirectionalSearch.d.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { GetNeighbors, LayerPosition, ShortestPathAlgorithm } from "../ShortestPathAlgorithm";
1+
import { GetNeighbors, LayerVecPos, ShortestPathAlgorithm } from "../ShortestPathAlgorithm";
22
export declare class BidirectionalSearch implements ShortestPathAlgorithm {
3-
getShortestPath(startPos: LayerPosition, targetPos: LayerPosition, getNeighbors: GetNeighbors): {
4-
path: LayerPosition[];
5-
closestToTarget: LayerPosition;
3+
getShortestPath(startPos: LayerVecPos, targetPos: LayerVecPos, getNeighbors: GetNeighbors): {
4+
path: LayerVecPos[];
5+
closestToTarget: LayerVecPos;
66
};
77
/**
88
* @returns A memoized version of getNeighbors to improve speed.
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
import { LayerName } from "../GridTilemap/GridTilemap";
1+
import { CharLayer } from "../GridEngine";
22
import { Vector2 } from "../Utils/Vector2/Vector2";
3-
export interface LayerPosition {
3+
export interface LayerVecPos {
44
position: Vector2;
5-
layer: LayerName;
5+
layer: CharLayer;
66
}
7-
export declare type GetNeighbors = (pos: LayerPosition) => LayerPosition[];
7+
export declare type GetNeighbors = (pos: LayerVecPos) => LayerVecPos[];
88
export interface ShortestPath {
9-
path: LayerPosition[];
9+
path: LayerVecPos[];
1010
distOffset: number;
1111
}
1212
export interface ShortestPathAlgorithm {
13-
getShortestPath(startPos: LayerPosition, targetPos: LayerPosition, getNeighbors: GetNeighbors): {
14-
path: LayerPosition[];
15-
closestToTarget: LayerPosition;
13+
getShortestPath(startPos: LayerVecPos, targetPos: LayerVecPos, getNeighbors: GetNeighbors): {
14+
path: LayerVecPos[];
15+
closestToTarget: LayerVecPos;
1616
};
1717
}
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { LayerPosition } from "./../../Pathfinding/ShortestPathAlgorithm";
1+
import { LayerVecPos } from "./../../Pathfinding/ShortestPathAlgorithm";
22
export declare class LayerPositionUtils {
3-
static equal(position: LayerPosition, otherPosition: LayerPosition): boolean;
4-
static copyOver(source: LayerPosition, target: LayerPosition): void;
5-
static clone(layerPosition: LayerPosition): LayerPosition;
6-
static toString(layerPosition: LayerPosition): string;
3+
static equal(position: LayerVecPos, otherPosition: LayerVecPos): boolean;
4+
static copyOver(source: LayerVecPos, target: LayerVecPos): void;
5+
static clone(layerPosition: LayerVecPos): LayerVecPos;
6+
static toString(layerPosition: LayerVecPos): string;
77
}

dist/src/Utils/Vector2/Vector2.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,6 @@ export declare class Vector2 {
2525
modulo(vector: Vector2): Vector2;
2626
scalarModulo(scalar: number): Vector2;
2727
scalarMult(scalar: number): Vector2;
28+
toPosition(): Position;
2829
toString(): string;
2930
}

0 commit comments

Comments
 (0)