DataBeamWall 2.7j1 :
- modifiche per nuova gestione assemblaggi - aggiunto file versione.
This commit is contained in:
+45
-9
@@ -1,4 +1,4 @@
|
||||
-- ShowBuilding.lua by Egaltech s.r.l. 2025/07/24
|
||||
-- ShowBuilding.lua by Egaltech s.r.l. 2025/10/11
|
||||
-- Gestione visualizzazione travi come struttura
|
||||
|
||||
-- Intestazioni
|
||||
@@ -6,18 +6,54 @@ require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
-- Verifico se previsto assemblaggio
|
||||
local AsseBaseId = EgtGetFirstNameInGroup( GDB_ID.ROOT, 'AsseBase')
|
||||
if not AsseBaseId or EgtGetGroupObjs( AsseBaseId) == 0 then
|
||||
EgtOutBox( "There is no building", 'ShowBuilding', 'WARNING', 'OK')
|
||||
-- Recupero elenco assemblaggi presenti
|
||||
local AsseBaseId = EgtGetNameInGroup( GDB_ID.ROOT, 'AsseBase')
|
||||
for i = #AsseBaseId, 1, -1 do
|
||||
if EgtGetGroupObjs( AsseBaseId[i]) == 0 then
|
||||
table.remove( AsseBaseId, i)
|
||||
end
|
||||
end
|
||||
|
||||
-- Se nessun assemblaggio, esco con avvertimento
|
||||
if #AsseBaseId == 0 then
|
||||
EgtOutBox( "There are no assemblies", 'ShowBuilding', 'WARNING', 'OK')
|
||||
return
|
||||
end
|
||||
|
||||
-- Recupero l'attivazione dell'assemblaggio
|
||||
local bOn = EgtBeamGetBuildingIsOn()
|
||||
-- Se un solo assemblaggio
|
||||
if #AsseBaseId == 1 then
|
||||
-- Recupero l'attivazione dell'assemblaggio
|
||||
local bOn = EgtBeamGetBuildingIsOn()
|
||||
-- Modifico lo stato dell'assemblaggio
|
||||
EgtBeamShowBuilding( not bOn)
|
||||
|
||||
-- Modifico lo stato dell'assemblaggio
|
||||
EgtBeamShowBuilding( not bOn)
|
||||
-- altrimenti più assemblaggi
|
||||
else
|
||||
-- Recupero gli assemblaggi attivi
|
||||
local On = {}
|
||||
for i = 1, #AsseBaseId do
|
||||
if EgtBeamGetBuildingIsOn( AsseBaseId[i]) then
|
||||
table.insert( On, i)
|
||||
end
|
||||
end
|
||||
-- Se almeno uno attivo, li spengo tutti
|
||||
if #On > 0 then
|
||||
for j = 1, #On do
|
||||
EgtBeamShowBuilding( AsseBaseId[On[j]], false)
|
||||
end
|
||||
-- altrimenti chiedo quale attivare
|
||||
else
|
||||
local sCombo = 'CB:1'
|
||||
for i = 2, #AsseBaseId do
|
||||
sCombo = sCombo .. ',' .. tostring( i)
|
||||
end
|
||||
local Res = EgtDialogBox( 'Choose Assembly', { 'To Activate', sCombo})
|
||||
if Res then
|
||||
local nId = tonumber( Res[1])
|
||||
EgtBeamShowBuilding( AsseBaseId[nId], true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
EgtZoom( SCE_ZM.ALL)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user