From 7d23fe4acb75c0a6c3f7e44bf230ff9c7f74297a Mon Sep 17 00:00:00 2001 From: Imple Lee <80144331+ImpleLee@users.noreply.github.com> Date: Mon, 13 Nov 2023 12:20:24 +0800 Subject: [PATCH] fix many reference-vs-value error (#1044) fixes #1039 completes #1007 --- parts/scenes/customGame.lua | 27 ++++++++++++++++++--------- parts/scenes/custom_mission.lua | 3 ++- parts/scenes/custom_sequence.lua | 3 ++- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/parts/scenes/customGame.lua b/parts/scenes/customGame.lua index e9fc1139..59ea064d 100644 --- a/parts/scenes/customGame.lua +++ b/parts/scenes/customGame.lua @@ -14,10 +14,14 @@ local function CUSval(k) return CUSTOMGAME_LOCAL:CUSval(k) end local function CUSrev(k) return CUSTOMGAME_LOCAL:CUSrev(k) end local function CUSsto(k) return CUSTOMGAME_LOCAL:CUSsto(k) end local function apply_locals() - FIELD=CUSTOMGAME_LOCAL.field - BAG=CUSTOMGAME_LOCAL.bag - MISSION=CUSTOMGAME_LOCAL.mission - CUSTOMENV=CUSTOMGAME_LOCAL.customenv + TABLE.clear(FIELD) + TABLE.cover(CUSTOMGAME_LOCAL.field,FIELD) + TABLE.clear(BAG) + TABLE.cover(CUSTOMGAME_LOCAL.bag,BAG) + TABLE.clear(MISSION) + TABLE.cover(CUSTOMGAME_LOCAL.mission,MISSION) + TABLE.clear(CUSTOMENV) + TABLE.cover(CUSTOMGAME_LOCAL.customenv,CUSTOMENV) end do -- Initialize fields, sequence, missions, gameEnv for cutsom game local fieldData=loadFile('conf/customBoards','-string -canSkip') @@ -36,20 +40,23 @@ do -- Initialize fields, sequence, missions, gameEnv for cutsom game end end if fieldReinit then - CUSTOMGAME_LOCAL.field={DATA.newBoard()} + TABLE.cut(CUSTOMGAME_LOCAL.field) + CUSTOMGAME_LOCAL.field[1]=DATA.newBoard() end local sequenceData=loadFile('conf/customSequence','-string -canSkip') if sequenceData then local success,bag=DATA.pasteSequence(sequenceData) if success then - CUSTOMGAME_LOCAL.bag=bag + TABLE.cut(CUSTOMGAME_LOCAL.bag) + TABLE.cover(bag,CUSTOMGAME_LOCAL.bag) end end local missionData=loadFile('conf/customMissions','-string -canSkip') if missionData then local success,mission=DATA.pasteMission(missionData) if success then - CUSTOMGAME_LOCAL.mission=mission + TABLE.cut(CUSTOMGAME_LOCAL.mission) + TABLE.cover(mission,CUSTOMGAME_LOCAL.mission) end end local customData=loadFile('conf/customEnv','-canSkip') @@ -192,11 +199,13 @@ function scene.keyDown(key,isRep) local success,bag=DATA.pasteSequence(args[2]) if not success then break end-- goto THROW_fail - CUSTOMGAME_LOCAL.bag=bag + TABLE.cut(CUSTOMGAME_LOCAL.bag) + TABLE.cover(bag,CUSTOMGAME_LOCAL.bag) local success,mission=DATA.pasteMission(args[3]) if not success then break end-- goto THROW_fail - CUSTOMGAME_LOCAL.mission=mission + TABLE.cut(CUSTOMGAME_LOCAL.mission) + TABLE.cover(mission,CUSTOMGAME_LOCAL.mission) TABLE.cut(CUSTOMGAME_LOCAL.field) CUSTOMGAME_LOCAL.field[1]=DATA.newBoard() diff --git a/parts/scenes/custom_mission.lua b/parts/scenes/custom_mission.lua index ad5620be..f5e2dc84 100644 --- a/parts/scenes/custom_mission.lua +++ b/parts/scenes/custom_mission.lua @@ -82,7 +82,8 @@ function scene.keyDown(key) end local success,mission=DATA.pasteMission(str) if success then - CUSTOMGAME_LOCAL.mission=mission + TABLE.cut(MISSION) + TABLE.cover(mission,MISSION) MES.new('check',text.importSuccess) cur=#MISSION else diff --git a/parts/scenes/custom_sequence.lua b/parts/scenes/custom_sequence.lua index db966d77..47a76381 100644 --- a/parts/scenes/custom_sequence.lua +++ b/parts/scenes/custom_sequence.lua @@ -90,7 +90,8 @@ function scene.keyDown(key) end local success,bag=DATA.pasteSequence(str) if success then - CUSTOMGAME_LOCAL.bag=bag + TABLE.cut(BAG) + TABLE.cover(bag,BAG) MES.new('check',text.importSuccess) cur=#BAG else