fix(orders): write move payload through setJson

Owned OrderPayload.setNumber rejects a Squirrel float as the instance.
Use the same setJson path as the existing queue script test.

Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>
This commit is contained in:
Cursor Agentand西风逍遥游 committed 2026-09-02 10:40:58 +00:00
1 parent c4929beb9d
commit 1a97146aa3
2 files changed
+5 -5

No files matched your search

+3 -2
View File
@@ -282,8 +282,9 @@ function issueMove(x, y) {
group[i].orderId = requireResult(replaced, "replace move order");
local order = group[i].queue.find(group[i].orderId);
if (order != null) {
order.getPayload().setNumber("x", group[i].tx);
order.getPayload().setNumber("y", group[i].ty);
local payload = order.getPayload();
requireResult(payload.setJson("x", group[i].tx.tostring()), "move payload x");
requireResult(payload.setJson("y", group[i].ty.tostring()), "move payload y");
}
}
game.message = "已向 "+group.len()+" 个单位下达编队移动命令。";
+2 -3
View File
@@ -202,9 +202,8 @@ TEST_CASE("orders.script.ownedQueueReplace") {
local order = queue.current();
if (order != null && order.getId() == replaced.value && order.getKind() == "move" &&
order.getState() == "active") {
order.getPayload().setNumber("x", 400.0);
order.getPayload().setNumber("y", 360.0);
if (order.getPayload().has("x") && order.getPayload().has("y"))
local payloadResult = order.getPayload().setJson("x", "400");
if (payloadResult.ok && order.getPayload().has("x"))
result = "replaced";
}
)"));