fix: IObjectMovable 在寻路时无法实施移动的类型问题

This commit is contained in:
unanmed 2026-09-09 18:33:21 +08:00
parent 0c2d0c3535
commit 9a604422f8
3 changed files with 8 additions and 7 deletions

View File

@ -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();
});

View File

@ -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;
}

View File

@ -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;
/**
* 退退