{
    // 装箱货物的流程如下：
    // 选择装箱货物类型->下一步->装满货物->下一步->货物竞价->调度申请->下一步->提示尽快送达单击屏幕->回到大世界界面
    // 每次单击下一步前都需要确认页面稳定，否则会因为按钮错位导致单击失败
    "DeliveryJobsPackCargo": {
        "desc": "装箱货物",
        "pre_delay": 0,
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsInCargoPackGoods",
            "DeliveryJobsInCargoRedistributionBid"
        ]
    },
    "DeliveryJobsInCargoPackGoods": {
        "desc": "检查是否在货物装箱界面，货物装箱时进入的界面",
        "recognition": "OCR",
        "roi": [
            20,
            1,
            391,
            54
        ],
        "expected": [
            "货物装箱",
            "貨物裝箱",
            "(?i)Pack\\s*Goods",
            "パッキング",
            "화물 포장"
        ],
        "pre_wait_freezes": {
            "time": 80,
            "target": [
                5,
                140,
                223,
                157
            ]
        },
        "pre_delay": 0,
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsSelectTypeOfGoodsToPackNextStep"
        ]
    },
    "DeliveryJobsInCargoRedistributionBid": {
        "desc": "检查是否在调度申请界面，查看报价时进入的界面",
        "recognition": "OCR",
        "roi": [
            20,
            1,
            391,
            54
        ],
        "expected": [
            "调度申请",
            "調度申請",
            "(?i)Redistribution\\s*Bid",
            "取引申請",
            "관리 신청"
        ],
        "pre_wait_freezes": {
            "time": 80,
            "target": [
                5,
                140,
                223,
                157
            ]
        },
        "pre_delay": 0,
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsOngoingDelivery",
            "DeliveryJobsRedistributionBidNextStep"
        ]
    },
    "DeliveryJobsSelectTypeOfGoodsToPackNextStep": {
        "desc": "选择装箱货物类型后下一步",
        "recognition": "And",
        "all_of": [
            "YellowConfirmButtonType2",
            "DeliveryJobsInCargoPackGoods"
        ],
        "pre_delay": 0,
        "action": "Click",
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsCargoFillToMax"
        ]
    },
    "DeliveryJobsSelectItemLoop": {
        "desc": "选择要填充的物品，如果不在第一屏，向上滑动，再次寻找，直到找到或者滑动 5 次",
        "recognition": "OCR",
        "roi": [
            53,
            180,
            463,
            392
        ],
        "expected": [
            "本地仓储",
            "本地區倉儲",
            "(?i)Local\\s*Depot",
            "地域在庫",
            "지역 저장고"
        ],
        "pre_wait_freezes": {
            "time": 200,
            "target": [
                53,
                180,
                463,
                392
            ]
        },
        "pre_delay": 0,
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "[Anchor]DeliveryJobsSelectItemToFill",
            "[JumpBack]DeliveryJobsSelectItemScrollUp"
        ]
    },
    "DeliveryJobsSelectItemToFillValleyIV": {
        "desc": "选择要填充的物品（四号谷地）",
        "recognition": "TemplateMatch",
        "roi": [
            37,
            121,
            503,
            519
        ],
        "template": "DeliveryJobs/SandleafPowder.png",
        "threshold": 0.95,
        "order_by": "Score",
        "pre_wait_freezes": 80,
        "pre_delay": 0,
        "action": "Click",
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsFillCorrespondingGoods"
        ]
    },
    "DeliveryJobsSelectItemToFillWuling": {
        "desc": "选择要填充的物品（武陵）",
        "recognition": "TemplateMatch",
        "roi": [
            37,
            121,
            503,
            519
        ],
        "template": "DeliveryJobs/Yazhen.png",
        "threshold": 0.95,
        "order_by": "Score",
        "pre_wait_freezes": 80,
        "pre_delay": 0,
        "action": "Click",
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsFillCorrespondingGoods"
        ]
    },
    "DeliveryJobsSelectItemScrollUp": {
        "desc": "如果要填充的物品不在第一屏，向上滑动屏幕",
        "max_hit": 5,
        "pre_delay": 0,
        "action": "Swipe",
        "begin": [
            240,
            540,
            10,
            10
        ],
        "end": [
            240,
            200,
            10,
            10
        ],
        "end_hold": 200,
        // 要慢慢的滑，不然惯性就过头了
        "duration": 2000,
        "post_wait_freezes": 200,
        "post_delay": 0,
        "rate_limit": 0
    },
    "DeliveryJobsFillCorrespondingGoods": {
        "desc": "手动填满对应货物，通过单击进度条最右侧",
        "recognition": "TemplateMatch",
        "roi": [
            308,
            583,
            189,
            122
        ],
        "template": "DeliveryJobs/FillCorrespondingGoods.png",
        "threshold": 0.9,
        "pre_delay": 0,
        "action": "Click",
        "target_offset": [
            -75,
            0,
            0,
            0
        ],
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsSelectItemScrollUpClearHitCount"
        ]
    },
    "DeliveryJobsSelectItemScrollUpClearHitCount": {
        "desc": "清除向上滑动屏幕的命中计数，下一个仓储节点可能也需要滑动",
        "pre_delay": 0,
        "action": "Custom",
        "custom_action": "ClearHitCount",
        "custom_action_param": {
            "nodes": [
                "DeliveryJobsSelectItemScrollUp"
            ],
            "strict": false
        },
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsFillToMaxNextStep"
        ]
    },
    "DeliveryJobsCargoFillToMax": {
        "desc": "装满货物",
        "recognition": "TemplateMatch",
        "roi": [
            1141,
            156,
            78,
            89
        ],
        "template": "DeliveryJobs/CargoFillToMax.png",
        "threshold": 0.8,
        "pre_delay": 0,
        "action": "Click",
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsFillToMaxNextStep"
        ]
    },
    "DeliveryJobsCheckCargoFilledToMax": {
        "desc": "检查是否装满货物",
        "recognition": "TemplateMatch",
        "roi": [
            1194,
            139,
            86,
            115
        ],
        "template": "DeliveryJobs/CargoFilledToMax.png",
        "threshold": 0.9,
        "pre_delay": 0,
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsFillToMaxNextStep"
        ]
    },
    "DeliveryJobsFillToMaxNextStep": {
        "desc": "装满货物后下一步",
        "recognition": "And",
        "all_of": [
            "YellowConfirmButtonType2",
            "DeliveryJobsCheckCargoFilledToMax"
        ],
        "pre_delay": 0,
        "action": "Click",
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsInCargoRedistributionBid",
            "DeliveryJobsCargoBid"
        ]
    },
    "DeliveryJobsCargoBid": {
        "desc": "货物竞价",
        "recognition": "TemplateMatch",
        "roi": [
            789,
            524,
            220,
            143
        ],
        "template": "DeliveryJobs/CargoBid.png",
        "threshold": 0.8,
        "pre_delay": 0,
        "action": "Click",
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsInCargoRedistributionBid"
        ]
    },
    "DeliveryJobsRedistributionBidNextStep": {
        "desc": "调度申请后下一步",
        "recognition": "And",
        "all_of": [
            "YellowConfirmButtonType2",
            "DeliveryJobsInCargoRedistributionBid"
        ],
        "pre_delay": 0,
        "action": "Click",
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsBackToDepot",
            "DeliveryJobsDeliverQuickly"
        ]
    },
    "DeliveryJobsDeliverQuickly": {
        "desc": "提示尽快送达，单击一下，会直接回到大世界界面。跳出循环",
        "recognition": "OCR",
        "roi": [
            0,
            0,
            250,
            250
        ],
        "expected": [
            "请尽快送达",
            "請儘快送達",
            "(?i)Deliver\\s*Quickly",
            "早めに配達してください",
            "최대한 빨리 배달하세요."
        ],
        "pre_delay": 0,
        "action": "Click",
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsBackToDepot",
            "DeliveryJobsClickScreenToContinue"
        ]
    },
    "DeliveryJobsClickScreenToContinue": {
        "desc": "单击屏幕继续，会直接回到大世界界面。跳出循环",
        "recognition": "OCR",
        "roi": [
            527,
            646,
            222,
            48
        ],
        "expected": [
            "点击屏幕继续",
            "按任意處繼續",
            "Click to continue",
            "クリックして続行",
            "화면을 눌러 계속하기"
        ],
        "order_by": "Expected",
        "pre_delay": 0,
        "action": "Click",
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "DeliveryJobsBackToDepot"
        ]
    },
    "DeliveryJobsOngoingDelivery": {
        "desc": "有待运送的货物，无法继续装箱流程，退出任务",
        "recognition": "OCR",
        "roi": [
            882,
            575,
            398,
            143
        ],
        "expected": [
            "有待运送的货物，请先完成送货",
            "有待運送的貨物，請先完成送貨",
            "(?i)Finish\\s*the\\s*ongoing\\s*delivery\\s*first",
            "配達待ちの荷物を先に届けてください",
            "有待运送的货物",
            "有待運送的貨物",
            "운송 대기 중인 화물 있음"
        ],
        "pre_delay": 0,
        "action": "StopTask",
        "post_delay": 0,
        "rate_limit": 0,
        "focus": {
            "Node.Recognition.Succeeded": "$task.DeliveryJobs.OngoingDelivery"
        }
    },
    "DeliveryJobsBackToDepot": {
        "desc": "回到本地仓储界面",
        "recognition": "And",
        "all_of": [
            "InWorld"
        ],
        "pre_delay": 0,
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "[Anchor]DeliveryJobsGoToDepot"
        ]
    },
    "DeliveryJobsBackToDepotFromBid": {
        "desc": "从调度申请界面回到本地仓储界面",
        "recognition": "And",
        "all_of": [
            "CloseButtonType1",
            "DeliveryJobsInCargoRedistributionBid"
        ],
        "pre_delay": 0,
        "action": "Click",
        "post_delay": 0,
        "rate_limit": 0,
        "next": [
            "InLocalDepotNode"
        ]
    }
}
