mirror of
https://github.com/motajs/template.git
synced 2026-09-14 19:08:55 +08:00
fix: IObjectMovable 在寻路时无法实施移动的类型问题
This commit is contained in:
parent
0c2d0c3535
commit
9a604422f8
@ -335,7 +335,7 @@ function createSystem(rows: number[], width: number): SystemFixture {
|
||||
const layer = map.getLayerByAlias('event')!;
|
||||
const system = new modules.PathfindingSystem(commonState as never);
|
||||
const tile = createTestTile();
|
||||
system.useMovable(tile);
|
||||
system.useMover(tile);
|
||||
system.finder.useMapState(maps);
|
||||
system.finder.useMapLayer(layer);
|
||||
return { map, layer, system, tile };
|
||||
@ -478,11 +478,11 @@ describe('pathfinding system', () => {
|
||||
it('returns null from moveTo when movable is unbound or unreachable', () => {
|
||||
const fixture = createSystem([1, 6, 1, 1, 6, 1, 1, 6, 1], 3);
|
||||
injectPredicate(fixture);
|
||||
fixture.system.useMovable(null);
|
||||
fixture.system.useMover(null);
|
||||
|
||||
expect(fixture.system.moveTo({ x: 2, y: 1 })).toBeNull();
|
||||
|
||||
fixture.system.useMovable(fixture.tile);
|
||||
fixture.system.useMover(fixture.tile);
|
||||
expect(fixture.system.moveTo({ x: 2, y: 1 })).toBeNull();
|
||||
});
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ export class PathfindingSystem implements IPathfindingSystem {
|
||||
* 绑定寻路移动对象,可绑定勇士位置或任意动态图块
|
||||
* @param movable 移动对象,传入 `null` 解绑
|
||||
*/
|
||||
useMovable(movable: IObjectMovable | null): void {
|
||||
useMover(movable: IObjectMovable | null): void {
|
||||
this.movable = movable;
|
||||
}
|
||||
|
||||
|
||||
@ -9,7 +9,8 @@ import {
|
||||
import {
|
||||
FaceDirection,
|
||||
IMoverController,
|
||||
IObjectMovable
|
||||
IObjectMovable,
|
||||
IObjectMover
|
||||
} from '@user/data-common';
|
||||
|
||||
export interface IPathfindingStep {
|
||||
@ -85,9 +86,9 @@ export interface IPathfindingSystem extends IDataBaseExtended {
|
||||
|
||||
/**
|
||||
* 绑定寻路移动对象,可绑定勇士位置或任意 `IObjectMovable`,如动态图块
|
||||
* @param movable 移动对象
|
||||
* @param mover 移动对象
|
||||
*/
|
||||
useMovable(movable: IObjectMovable | null): void;
|
||||
useMover(mover: IObjectMover<IObjectMovable> | null): void;
|
||||
|
||||
/**
|
||||
* 设置瞬移回退策略,默认必定回退为逐步寻路
|
||||
|
||||
Loading…
Reference in New Issue
Block a user