diff --git a/packages-user/data-base/src/map/mapLayer.ts b/packages-user/data-base/src/map/mapLayer.ts index 1739988..8fe5a25 100644 --- a/packages-user/data-base/src/map/mapLayer.ts +++ b/packages-user/data-base/src/map/mapLayer.ts @@ -383,7 +383,7 @@ export class MapLayer staticTile.syncTileEvent(tile); } else { // 不保留事件时,将复用的静态图块重置为默认事件 - staticTile.loadState({}); + staticTile.restoreDefaultEvents(); } this.removeDynamic(tile, tile.x, tile.y); this.forEachHook(hook => hook.onDeleteDynamic?.(tile)); diff --git a/packages-user/data-base/src/map/tile.ts b/packages-user/data-base/src/map/tile.ts index 68082ff..0ab1fe9 100644 --- a/packages-user/data-base/src/map/tile.ts +++ b/packages-user/data-base/src/map/tile.ts @@ -43,7 +43,7 @@ export abstract class MapTileBase /** * 根据当前图块原始数据恢复默认事件并建立干净基准 */ - protected restoreDefaultEvents(): void { + restoreDefaultEvents(): void { const eventView = this.tileEvent(); eventView.clear(); const data = this.raw(); diff --git a/packages-user/data-base/src/map/types.ts b/packages-user/data-base/src/map/types.ts index e9aab13..997a968 100644 --- a/packages-user/data-base/src/map/types.ts +++ b/packages-user/data-base/src/map/types.ts @@ -139,6 +139,11 @@ export interface ITileBase extends IReadonlyTileBase { * @param origin 要从哪个图块复制 */ syncTileEvent(origin: IReadonlyTileBase): void; + + /** + * 根据当前图块原始数据恢复默认事件并建立干净基准 + */ + restoreDefaultEvents(): void; } export interface IStaticTile