|
@@ -377,6 +377,7 @@ export class LevelAction extends Component {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ await GameUtil.delay(0.2);
|
|
|
// 在添加完成后处理暂存区倒水
|
|
|
await this.handlePourTempCupToOutArea();
|
|
|
|
|
@@ -400,24 +401,16 @@ export class LevelAction extends Component {
|
|
|
originalPos?: Vec3,
|
|
|
isTempCup: boolean = false
|
|
|
) {
|
|
|
- // 使用正确的坐标转换
|
|
|
- const originParent = origin.parent!;
|
|
|
- const targetWorldPos = target.worldPosition;
|
|
|
- const localPos = originParent.getComponent(UITransform)!.convertToNodeSpaceAR(targetWorldPos);
|
|
|
-
|
|
|
- // 调整Y轴偏移量
|
|
|
- if (isTempCup) {
|
|
|
- localPos.x -= 55; // 暂存杯偏移
|
|
|
- localPos.y += 115;
|
|
|
- } else {
|
|
|
- localPos.x -= 50; // 调酒杯偏移
|
|
|
- localPos.y += 100;
|
|
|
- }
|
|
|
+ const targetWorldPos = target.getWorldPosition().clone();
|
|
|
+ const tempRegex = /TempCup/.test(origin.name);
|
|
|
+ // 调整偏移量
|
|
|
+ targetWorldPos.x -= !tempRegex ? 55 : 20;
|
|
|
+ targetWorldPos.y += !tempRegex ? 115 : 215;
|
|
|
|
|
|
// 移动动画到目标位置
|
|
|
await new Promise<void>(resolve => {
|
|
|
tween(origin)
|
|
|
- .to(0.5, { position: localPos })
|
|
|
+ .to(0.5, { worldPosition: targetWorldPos })
|
|
|
.call(resolve)
|
|
|
.start();
|
|
|
});
|