From 1ff22dd07da1845ca59de54f48d4e00884e2ce75 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Tue, 15 Sep 2026 21:28:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AF=BB=E8=B7=AF=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E6=8E=A5=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gsd/dispatch-isolation-sentinel.json | 2 +- packages-user/data-state/src/core.ts | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.gsd/dispatch-isolation-sentinel.json b/.gsd/dispatch-isolation-sentinel.json index 2989487..1ca6f1d 100644 --- a/.gsd/dispatch-isolation-sentinel.json +++ b/.gsd/dispatch-isolation-sentinel.json @@ -1 +1 @@ -{"isolation":"none","harness_flag":null,"phase":"06","plan":null,"written_at":1789346124877} \ No newline at end of file +{"isolation":"none","harness_flag":null,"phase":"7","plan":null,"written_at":1789461142586} \ No newline at end of file diff --git a/packages-user/data-state/src/core.ts b/packages-user/data-state/src/core.ts index 879bbc5..dbb5187 100644 --- a/packages-user/data-state/src/core.ts +++ b/packages-user/data-state/src/core.ts @@ -81,7 +81,7 @@ import { TileLegacyBridge } from './legacy'; import { isNil } from 'lodash-es'; -import { DefaultHeroMoveTopImpl } from './hero'; +import { DefaultHeroMoveTopImpl, DefaultPassPredicateImpl } from './hero'; import { createEventRegistrations } from './event/registrations'; import { ReplayEquipCommand, @@ -229,6 +229,17 @@ export class CoreState implements ICoreState { // 录像系统 this.replaySystem = new ReplaySystem(); + // 寻路系统 + const pathfinding = new PathfindingSystem(this); + this.pathfinding = pathfinding; + pathfinding.useMover(this.hero.location.mover); + pathfinding.finder.useMapState(this.maps); + // 初始状态下勇士不在任何楼层,切换楼层后再具体设置 + pathfinding.finder.useMapLayer(null); + pathfinding.finder.usePassPredicate( + new DefaultPassPredicateImpl(this.maps) + ); + //#endregion //#region L3 初始化 @@ -259,10 +270,6 @@ export class CoreState implements ICoreState { const heroMoveTopImpl = new DefaultHeroMoveTopImpl(this); this.hero.location.mover.useTopImplementation(heroMoveTopImpl); - const pathfinding = new PathfindingSystem(this); - pathfinding.useMover(this.hero.location.mover); - this.pathfinding = pathfinding; - // 录像系统初始化注册 this.registerReplayCommands();