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:
2 files changed
+5
-5
No files matched your search
@@ -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
@@ -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";
|
||||
}
|
||||
)"));
|
||||
|
||||
Reference in new issue
Block a user