From d6900a2c596f41e46feee392c8df6676023b9b10 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Tue, 2 Dec 2025 15:59:53 +0100 Subject: [PATCH] =?UTF-8?q?Modifica=20a=20lettura=20parametri=20generali.?= =?UTF-8?q?=20Se=20il=20parametro=20non=20=C3=A8=20salvato=20in=20NGE=20si?= =?UTF-8?q?=20salta=20subito,=20altrimenti=20se=20fosse=20stato=20un=20boo?= =?UTF-8?q?lean=20veniva=20messo=20a=20false.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/BeamLib.lua | 52 +++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/LuaLibs/BeamLib.lua b/LuaLibs/BeamLib.lua index 33899e0..5a1d4c4 100644 --- a/LuaLibs/BeamLib.lua +++ b/LuaLibs/BeamLib.lua @@ -523,7 +523,7 @@ function BeamLib.GetPieceGeneralParameters( Part, DefaultGeneralParamList) GeneralParameters[DefaultGeneralParamList[i].sName] = xParameterValue end else - if GENERAL_PARAMETERS.BTL and GENERAL_PARAMETERS.BTL[Part.sBTLInfo] and GENERAL_PARAMETERS.BTL[Part.sBTLInfo][DefaultGeneralParamList[i].sName] ~= nil then + if GENERAL_PARAMETERS.BTL and GENERAL_PARAMETERS.BTL[Part.sBTLInfo] and GENERAL_PARAMETERS.BTL[Part.sBTLInfo][DefaultGeneralParamList[i].sName] then GeneralParameters[DefaultGeneralParamList[i].sName] = GENERAL_PARAMETERS.BTL[Part.sBTLInfo][DefaultGeneralParamList[i].sName] elseif GENERAL_PARAMETERS.PROJECT[DefaultGeneralParamList[i].sName] then GeneralParameters[DefaultGeneralParamList[i].sName] = GENERAL_PARAMETERS.PROJECT[DefaultGeneralParamList[i].sName] @@ -616,18 +616,21 @@ function BeamLib.LoadGeneralParametersInList( DefaultGeneralParamList) for i = 1, #DefaultGeneralParamList do local sParamNameNGE = DefaultGeneralParamList[i].sNameNge local xParameterValue = EgtGetInfo( idProjectInfo, sParamNameNGE, 's') or DefaultGeneralParamList[i].sValue - -- salvataggio dato su lista con accesso diretto - if DefaultGeneralParamList[i].sType == 'b' then - UpdatedParameters.PROJECT[DefaultGeneralParamList[i].sName] = xParameterValue == 'true' or xParameterValue == '1' or xParameterValue == true - elseif DefaultGeneralParamList[i].sType == 'd' then - if #DefaultGeneralParamList[i].sValue > 0 then - UpdatedParameters.PROJECT[DefaultGeneralParamList[i].sName] = tonumber( xParameterValue) - -- stringa vuota equivale a non passare alcun valore (deciderà la strategia) - else - UpdatedParameters.PROJECT[DefaultGeneralParamList[i].sName] = nil + -- se parametro non trovato si salta tutto. N.B. = I parametri progetto non dovrebbero mai essere nil + if xParameterValue then + -- salvataggio dato su lista con accesso diretto + if DefaultGeneralParamList[i].sType == 'b' then + UpdatedParameters.PROJECT[DefaultGeneralParamList[i].sName] = xParameterValue == 'true' or xParameterValue == '1' or xParameterValue == true + elseif DefaultGeneralParamList[i].sType == 'd' then + if #DefaultGeneralParamList[i].sValue > 0 then + UpdatedParameters.PROJECT[DefaultGeneralParamList[i].sName] = tonumber( xParameterValue) + -- stringa vuota equivale a non passare alcun valore (deciderà la strategia) + else + UpdatedParameters.PROJECT[DefaultGeneralParamList[i].sName] = nil + end + else --DefaultGeneralParamList[i].sType == 's' or DefaultGeneralParamList[i].sType == 'combo' + UpdatedParameters.PROJECT[DefaultGeneralParamList[i].sName] = xParameterValue end - else --DefaultGeneralParamList[i].sType == 's' or DefaultGeneralParamList[i].sType == 'combo' - UpdatedParameters.PROJECT[DefaultGeneralParamList[i].sName] = xParameterValue end end @@ -641,18 +644,21 @@ function BeamLib.LoadGeneralParametersInList( DefaultGeneralParamList) for i = 1, #DefaultGeneralParamList do local sParamNameNGE = DefaultGeneralParamList[i].sNameNge local xParameterValue = EgtGetInfo( BTLInfo[j], sParamNameNGE, 's') - -- salvataggio dato su lista con accesso diretto - if DefaultGeneralParamList[i].sType == 'b' then - UpdatedParameters.BTL[BTLName][DefaultGeneralParamList[i].sName] = xParameterValue == 'true' or xParameterValue == '1' or xParameterValue == true - elseif DefaultGeneralParamList[i].sType == 'd' then - if #DefaultGeneralParamList[i].sValue > 0 then - UpdatedParameters.BTL[BTLName][DefaultGeneralParamList[i].sName] = tonumber( xParameterValue) - -- stringa vuota equivale a non passare alcun valore (deciderà la strategia) - else - UpdatedParameters.BTL[BTLName][DefaultGeneralParamList[i].sName] = nil + -- se parametro non trovato si salta tutto + if xParameterValue then + -- salvataggio dato su lista con accesso diretto + if DefaultGeneralParamList[i].sType == 'b' then + UpdatedParameters.BTL[BTLName][DefaultGeneralParamList[i].sName] = xParameterValue == 'true' or xParameterValue == '1' or xParameterValue == true + elseif DefaultGeneralParamList[i].sType == 'd' then + if #DefaultGeneralParamList[i].sValue > 0 then + UpdatedParameters.BTL[BTLName][DefaultGeneralParamList[i].sName] = tonumber( xParameterValue) + -- stringa vuota equivale a non passare alcun valore (deciderà la strategia) + else + UpdatedParameters.BTL[BTLName][DefaultGeneralParamList[i].sName] = nil + end + else --DefaultGeneralParamList[i].sType == 's' or DefaultGeneralParamList[i].sType == 'combo' + UpdatedParameters.BTL[BTLName][DefaultGeneralParamList[i].sName] = xParameterValue end - else --DefaultGeneralParamList[i].sType == 's' or DefaultGeneralParamList[i].sType == 'combo' - UpdatedParameters.BTL[BTLName][DefaultGeneralParamList[i].sName] = xParameterValue end end end