Skip to content

refactor(SellProduct): 重构一键售卖产品逻辑#1025

Merged
he0119 merged 16 commits intomainfrom
fix/sell-product-adb
Mar 6, 2026
Merged

refactor(SellProduct): 重构一键售卖产品逻辑#1025
he0119 merged 16 commits intomainfrom
fix/sell-product-adb

Conversation

@he0119
Copy link
Contributor

@he0119 he0119 commented Mar 5, 2026

现在会检查据点是否存在再切换过去售卖,同时完善了界面的检查。

fix #945, fix #969, fix #998, fix #1013

Summary by Sourcery

重构一键商品售卖管线,以重新组织售卖流程配置,并将变更后的处理拆分为新的管线资源。

增强内容:

  • 更新 SellProduct 核心以及地图相关的管线配置,以匹配新的售卖流程。
  • 引入新的管线配置,用于处理商品变更以及在售卖流程中进入前哨站的逻辑。
  • 迁移并替换 SellAfterChange 管线配置,使其与新的流程结构保持一致。
Original summary in English

Summary by Sourcery

Refactor the one-click product selling pipelines to reorganize sell flow configuration and separate post-change handling into new pipeline resources.

Enhancements:

  • Update SellProduct core and map-specific pipeline configs to reflect the new selling flow.
  • Introduce new pipeline configs for handling product changes and entering outposts in the selling process.
  • Relocate and replace the SellAfterChange pipeline configuration to align with the new flow structure.

由 Sourcery 生成的摘要

重构一键 SellProduct 流水线,重新组织售卖流程,并将变更后的处理拆分到专门的流水线资源中。

新功能:

  • 新增独立的 ChangeGoods 和 EnterOutpost 流水线配置,用于在售卖流程中处理商品变更和前往前哨站。

错误修复:

  • 确保一键售卖在切换地区并继续销售之前,会验证前哨站是否存在以及当前 UI 状态是否正确。

增强改进:

  • 更新 SellProduct 核心及各地区特定的流水线配置,使其与新的售卖流程结构保持一致。
  • 移动并调整 SellAfterChange 流水线配置,使其符合新的变更后处理设计。

测试:

  • 为商品变更处理以及地区/前哨站行为增加流水线测试,覆盖 adb 和 fast 两类资源。
Original summary in English

Summary by Sourcery

Refactor the one-click SellProduct pipelines to reorganize the selling flow and separate post-change handling into dedicated pipeline resources.

New Features:

  • Add dedicated ChangeGoods and EnterOutpost pipeline configurations to handle product changes and outpost entry within the selling flow.

Bug Fixes:

  • Ensure one-click selling validates outpost existence and UI state before switching regions and proceeding with sales.

Enhancements:

  • Update SellProduct core and region-specific pipeline configurations to align with the new selling flow structure.
  • Move and align the SellAfterChange pipeline configuration with the new post-change handling design.

Tests:

  • Add pipeline tests for product change handling and region/outpost behavior for both adb and fast resources.

Copilot AI review requested due to automatic review settings March 5, 2026 15:40
Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我在这里给出了一些高层次的反馈:

  • resource_adbresource_fast 下似乎都有并行的 SellCore.json 定义;如果它们的逻辑需要保持一致,建议抽取共享部分,或者制定一个清晰的约定,以避免这两个流水线之间在无声无息中产生差异。
  • 新的流水线名称(SellAfterChangeChangeGoodsEnterOutpost)与此文件夹中现有的命名有些不一致;如果能够统一一个清晰的命名规范(例如动词优先或领域优先),会让销售流程中的各个步骤更容易理解和维护。
给 AI 代理的提示
Please address the comments from this code review:

## Overall Comments
- There appear to be parallel `SellCore.json` definitions under both `resource_adb` and `resource_fast`; if their logic is intended to stay in sync, consider extracting shared pieces or adding a clear convention to avoid silent divergence between the two pipelines.
- The new pipeline names (`SellAfterChange`, `ChangeGoods`, `EnterOutpost`) are a bit inconsistent with the existing naming in this folder; aligning on a clear naming pattern (e.g., verb-first or domain-first) will make the sell flow steps easier to understand and maintain.

Sourcery 对开源项目是免费的——如果你觉得我们的评审有帮助,欢迎分享 ✨
请帮我变得更有用!可以在每条评论上点 👍 或 👎,我会根据这些反馈改进对你代码的评审。
Original comment in English

Hey - I've left some high level feedback:

  • There appear to be parallel SellCore.json definitions under both resource_adb and resource_fast; if their logic is intended to stay in sync, consider extracting shared pieces or adding a clear convention to avoid silent divergence between the two pipelines.
  • The new pipeline names (SellAfterChange, ChangeGoods, EnterOutpost) are a bit inconsistent with the existing naming in this folder; aligning on a clear naming pattern (e.g., verb-first or domain-first) will make the sell flow steps easier to understand and maintain.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- There appear to be parallel `SellCore.json` definitions under both `resource_adb` and `resource_fast`; if their logic is intended to stay in sync, consider extracting shared pieces or adding a clear convention to avoid silent divergence between the two pipelines.
- The new pipeline names (`SellAfterChange`, `ChangeGoods`, `EnterOutpost`) are a bit inconsistent with the existing naming in this folder; aligning on a clear naming pattern (e.g., verb-first or domain-first) will make the sell flow steps easier to understand and maintain.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

本 PR 重构“一键售卖产品”脚本:在进入售卖前新增据点/界面检测,并将“进据点/换货/售卖核心循环”拆分为更清晰的子流程,减少地区脚本里的重复逻辑。

Changes:

  • 新增 EnterOutpost.json/ChangeGoods.json,抽离“进入据点管理/判断在据点/换货”通用节点
  • 重写武陵/四号谷地的售卖流程为“先确认据点存在,再切换并售卖”
  • 合并并简化售卖核心循环,删除 SellAfterChange.json 并将“换货后流程”并入 SellCore.json

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
assets/resource_fast/pipeline/SellProduct/Wuling.json 将武陵售卖流程改为先进入据点再检测/切换到天王坪援建点进行售卖
assets/resource_fast/pipeline/SellProduct/ValleyIV.json 将四号谷地售卖流程拆分为多个据点(难民/基建/重建)存在性检查与切换售卖
assets/resource_fast/pipeline/SellProduct/SellCore.json 重构售卖核心循环与“换货后”循环,调整识别/动作等待策略
assets/resource_fast/pipeline/SellProduct/SellAfterChange.json 删除旧的“换货后售卖”独立文件(逻辑迁入 SellCore)
assets/resource_fast/pipeline/SellProduct/EnterOutpost.json 新增通用“在据点/进据点管理/返回区域建设/锁定检测”节点
assets/resource_fast/pipeline/SellProduct/ChangeGoods.json 新增通用“更换货品/选择下一个货品/确认”节点
assets/resource_fast/pipeline/SellProduct.json 更新地区入口流程:进入地区后调用新的售卖子任务与锁定检测
assets/resource_adb/pipeline/SellProduct/SellCore.json ADB 覆盖:将点击偏移从 action 内挪出为顶层字段覆盖
assets/resource_adb/pipeline/SellProduct/SellAfterChange.json ADB 覆盖:为“换货后点击进度条”提供 ADB 点击偏移覆盖

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.

@he0119 he0119 force-pushed the fix/sell-product-adb branch from fc54052 to 847022f Compare March 5, 2026 16:19
@he0119 he0119 requested review from Joe-Bao and SusieGlitter March 5, 2026 16:59
@he0119 he0119 marked this pull request as draft March 5, 2026 18:28
@he0119 he0119 changed the title refactor: 重构一键售卖产品逻辑 refactor(SellProduct): 重构一键售卖产品逻辑 Mar 5, 2026
@Joe-Bao
Copy link
Contributor

Joe-Bao commented Mar 5, 2026

修改完成后,PC上跑通了两次。

@he0119 he0119 force-pushed the fix/sell-product-adb branch from a3ff9ab to ed44c59 Compare March 5, 2026 23:56
@he0119 he0119 marked this pull request as ready for review March 6, 2026 00:34
Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey —— 我在这里给出一些整体性的反馈:

  • resource_adbresource_fast 的 SellProduct JSON(以及它们对应的测试 JSON)之间似乎存在大量重复的流水线配置;可以考虑将共享的部分抽取到一个通用的基础配置中,或者使用 include / 宏 之类的机制,这样可以降低它们未来出现不同步偏差的风险。
  • 对于新加入的 ChangeGoodsEnterOutpost 流水线,把不同职责清晰地分离开来可能会更有帮助(例如,将纯状态转换与导航 / 场景处理区分开),这样每条流水线都只有一个聚焦明确的用途,当未来需要调整售卖流程时,也会更容易理解和修改。
供 AI 代理使用的提示词
Please address the comments from this code review:

## Overall Comments
- There appears to be a lot of duplicated pipeline configuration between the `resource_adb` and `resource_fast` SellProduct JSONs (and their corresponding test JSONs); consider extracting the shared parts into a common base or using includes/macros to reduce the risk of them drifting out of sync.
- With the new `ChangeGoods` and `EnterOutpost` pipelines, it may be helpful to clearly separate responsibilities (e.g., pure state transformation vs. navigation/scene handling) so that each pipeline has a single, focused purpose and is easier to reason about when future adjustments to the selling flow are needed.

Sourcery 对开源项目是免费的 —— 如果你觉得我们的评论有帮助,欢迎分享 ✨
请帮我变得更有用!欢迎在每条评论上点 👍 或 👎,我会根据你的反馈来改进后续的评审。
Original comment in English

Hey - I've left some high level feedback:

  • There appears to be a lot of duplicated pipeline configuration between the resource_adb and resource_fast SellProduct JSONs (and their corresponding test JSONs); consider extracting the shared parts into a common base or using includes/macros to reduce the risk of them drifting out of sync.
  • With the new ChangeGoods and EnterOutpost pipelines, it may be helpful to clearly separate responsibilities (e.g., pure state transformation vs. navigation/scene handling) so that each pipeline has a single, focused purpose and is easier to reason about when future adjustments to the selling flow are needed.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- There appears to be a lot of duplicated pipeline configuration between the `resource_adb` and `resource_fast` SellProduct JSONs (and their corresponding test JSONs); consider extracting the shared parts into a common base or using includes/macros to reduce the risk of them drifting out of sync.
- With the new `ChangeGoods` and `EnterOutpost` pipelines, it may be helpful to clearly separate responsibilities (e.g., pure state transformation vs. navigation/scene handling) so that each pipeline has a single, focused purpose and is easier to reason about when future adjustments to the selling flow are needed.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@he0119 he0119 merged commit 4d8349e into main Mar 6, 2026
10 checks passed
@he0119 he0119 deleted the fix/sell-product-adb branch March 6, 2026 00:36
@Joe-Bao
Copy link
Contributor

Joe-Bao commented Mar 6, 2026

it looks good

MistEO pushed a commit that referenced this pull request Mar 9, 2026
现在会检查据点是否存在再切换过去售卖,同时完善了界面的检查。

fix #945, fix #969, fix #998, fix #1013

## Summary by Sourcery

重构一键商品售卖管线,以重新组织售卖流程配置,并将变更后的处理拆分为新的管线资源。

增强内容:
- 更新 SellProduct 核心以及地图相关的管线配置,以匹配新的售卖流程。
- 引入新的管线配置,用于处理商品变更以及在售卖流程中进入前哨站的逻辑。
- 迁移并替换 SellAfterChange 管线配置,使其与新的流程结构保持一致。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Refactor the one-click product selling pipelines to reorganize sell flow
configuration and separate post-change handling into new pipeline
resources.

Enhancements:
- Update SellProduct core and map-specific pipeline configs to reflect
the new selling flow.
- Introduce new pipeline configs for handling product changes and
entering outposts in the selling process.
- Relocate and replace the SellAfterChange pipeline configuration to
align with the new flow structure.

</details>

## 由 Sourcery 生成的摘要

重构一键 SellProduct 流水线,重新组织售卖流程,并将变更后的处理拆分到专门的流水线资源中。

新功能:
- 新增独立的 ChangeGoods 和 EnterOutpost 流水线配置,用于在售卖流程中处理商品变更和前往前哨站。

错误修复:
- 确保一键售卖在切换地区并继续销售之前,会验证前哨站是否存在以及当前 UI 状态是否正确。

增强改进:
- 更新 SellProduct 核心及各地区特定的流水线配置,使其与新的售卖流程结构保持一致。
- 移动并调整 SellAfterChange 流水线配置,使其符合新的变更后处理设计。

测试:
- 为商品变更处理以及地区/前哨站行为增加流水线测试,覆盖 adb 和 fast 两类资源。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Refactor the one-click SellProduct pipelines to reorganize the selling
flow and separate post-change handling into dedicated pipeline
resources.

New Features:
- Add dedicated ChangeGoods and EnterOutpost pipeline configurations to
handle product changes and outpost entry within the selling flow.

Bug Fixes:
- Ensure one-click selling validates outpost existence and UI state
before switching regions and proceeding with sales.

Enhancements:
- Update SellProduct core and region-specific pipeline configurations to
align with the new selling flow structure.
- Move and align the SellAfterChange pipeline configuration with the new
post-change handling design.

Tests:
- Add pipeline tests for product change handling and region/outpost
behavior for both adb and fast resources.

</details>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Joe Bao <jiahe.bao@student.unsw.edu.au>
MistEO pushed a commit that referenced this pull request Mar 9, 2026
现在会检查据点是否存在再切换过去售卖,同时完善了界面的检查。

fix #945, fix #969, fix #998, fix #1013

## Summary by Sourcery

重构一键商品售卖管线,以重新组织售卖流程配置,并将变更后的处理拆分为新的管线资源。

增强内容:
- 更新 SellProduct 核心以及地图相关的管线配置,以匹配新的售卖流程。
- 引入新的管线配置,用于处理商品变更以及在售卖流程中进入前哨站的逻辑。
- 迁移并替换 SellAfterChange 管线配置,使其与新的流程结构保持一致。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Refactor the one-click product selling pipelines to reorganize sell flow
configuration and separate post-change handling into new pipeline
resources.

Enhancements:
- Update SellProduct core and map-specific pipeline configs to reflect
the new selling flow.
- Introduce new pipeline configs for handling product changes and
entering outposts in the selling process.
- Relocate and replace the SellAfterChange pipeline configuration to
align with the new flow structure.

</details>

## 由 Sourcery 生成的摘要

重构一键 SellProduct 流水线,重新组织售卖流程,并将变更后的处理拆分到专门的流水线资源中。

新功能:
- 新增独立的 ChangeGoods 和 EnterOutpost 流水线配置,用于在售卖流程中处理商品变更和前往前哨站。

错误修复:
- 确保一键售卖在切换地区并继续销售之前,会验证前哨站是否存在以及当前 UI 状态是否正确。

增强改进:
- 更新 SellProduct 核心及各地区特定的流水线配置,使其与新的售卖流程结构保持一致。
- 移动并调整 SellAfterChange 流水线配置,使其符合新的变更后处理设计。

测试:
- 为商品变更处理以及地区/前哨站行为增加流水线测试,覆盖 adb 和 fast 两类资源。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Refactor the one-click SellProduct pipelines to reorganize the selling
flow and separate post-change handling into dedicated pipeline
resources.

New Features:
- Add dedicated ChangeGoods and EnterOutpost pipeline configurations to
handle product changes and outpost entry within the selling flow.

Bug Fixes:
- Ensure one-click selling validates outpost existence and UI state
before switching regions and proceeding with sales.

Enhancements:
- Update SellProduct core and region-specific pipeline configurations to
align with the new selling flow structure.
- Move and align the SellAfterChange pipeline configuration with the new
post-change handling design.

Tests:
- Add pipeline tests for product change handling and region/outpost
behavior for both adb and fast resources.

</details>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Joe Bao <jiahe.bao@student.unsw.edu.au>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants