EgtDoorCreator 2.7e2 :

- migliorie per visualizzazione decori da file nge (rimane da sistemare caso con più layer).
This commit is contained in:
Dario Sassi
2025-05-14 10:47:10 +02:00
parent eaf753646a
commit beea154999
4 changed files with 40 additions and 15 deletions
+12 -3
View File
@@ -1547,13 +1547,22 @@ Public Class Part
Dim IndexLay As Integer = 0
While nIdLay <> GDB_ID.NULL
Dim sInfoPath As String = String.Empty
If EgtGetInfo(nIdLay, "Path", sInfoPath) Then
If Not EgtGetInfo(nIdLay, "Path", sInfoPath) Then
Dim sFileName As String = String.Empty
Dim sFileDir As String = String.Empty
If EgtGetInfo(nIdLay, "CustGeomFile", sFileName) AndAlso
EgtGetInfo(nIdLay, "CustGeomPath", sFileDir) Then
sInfoPath = sFileDir & sFileName
End If
End If
If Not String.IsNullOrWhiteSpace( sInfoPath) Then
Dim sNamePath As String = sInfoPath
If sNamePath.Contains(sCompoName) And sNamePath.Contains(sDirCompo) And IndexLay = IndexInList Then
If sInfoPath.IndexOf( sCompoName, StringComparison.InvariantCultureIgnoreCase) >= 0 AndAlso
sInfoPath.IndexOf( sDirCompo, StringComparison.InvariantCultureIgnoreCase) >= 0 And IndexLay = IndexInList Then
EgtSetMark(nIdLay)
m_SelCompo.SetMark()
Exit While
ElseIf sNamePath.Contains(sCompoName) And IndexLay < IndexInList Then
ElseIf sInfoPath.IndexOf( sCompoName, StringComparison.InvariantCultureIgnoreCase) >= 0 And IndexLay < IndexInList Then
IndexLay = IndexLay + 1
End If
End If
+2 -2
View File
@@ -71,8 +71,8 @@ Friend Class MainWindowModel
EgtSetLockId(sLockId)
End If
' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2704, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2704, 1, IniFile.m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2705, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2705, 1, IniFile.m_nKeyOptions)
' Leggo e imposto livello utilizzatore
IniFile.m_nUserLevel = Math.Min(IniFile.m_nKeyLevel, GetMainPrivateProfileInt(S_GENERAL, K_USERLEVEL, 1))
'Inizializzazione generale di EgtInterface
+2 -2
View File
@@ -72,5 +72,5 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.7.4.1")>
<Assembly: AssemblyFileVersion("2.7.4.1")>
<Assembly: AssemblyVersion("2.7.5.2")>
<Assembly: AssemblyFileVersion("2.7.5.2")>
+24 -8
View File
@@ -490,10 +490,21 @@ Public Class SceneManagerVM
Dim sCompoName As String = CurrCompo.TemplateSelItem
' recupero il nome della componente selezionata con MouseOver
Dim sInfoPath As String = String.Empty
If Not EgtGetInfo(nIdLay, "Path", sInfoPath) Then Return False
If Not EgtGetInfo(nIdLay, "Path", sInfoPath) Then
Dim sFileName As String = String.Empty
Dim sFileDir As String = String.Empty
If EgtGetInfo(nIdLay, "CustGeomFile", sFileName) AndAlso
EgtGetInfo(nIdLay, "CustGeomPath", sFileDir) Then
sInfoPath = sFileDir & sFileName
Else
Return False
End If
End If
' verifico validità
If Not ( sInfoPath.Contains(sCompoName) AndAlso sInfoPath.Contains(sDirCompo)) Then Return False
If Not ( sInfoPath.IndexOf( sCompoName, StringComparison.InvariantCultureIgnoreCase) >= 0 AndAlso
sInfoPath.IndexOf( sDirCompo, StringComparison.InvariantCultureIgnoreCase) >= 0) Then
Return False
End If
' recupero la lista dei compo dello stesso tipo
Dim TempList As ObservableCollection(Of Compo) = DdfFile.GetCurrentListSameCompoType(CompoList, CurrCompo.CompoType.DDFName)
' recupero la lista dei compo con lo stesso nome
@@ -507,24 +518,29 @@ Public Class SceneManagerVM
While nCurrLayId <> GDB_ID.NULL
nCurrLayId = EgtGetNext(nCurrLayId)
Dim LocalsPath As String = String.Empty
If EgtGetInfo(nCurrLayId, "Path", LocalsPath) AndAlso
sInfoPath.Trim = LocalsPath.Trim Then
Dim LocalsName As String = String.Empty
Dim LocalsDir As String = String.Empty
If ( EgtGetInfo(nCurrLayId, "Path", LocalsPath) AndAlso
sInfoPath.Trim = LocalsPath.Trim) OrElse
( EgtGetInfo(nCurrLayId, "CustGeomFile", LocalsName) AndAlso
EgtGetInfo(nCurrLayId, "CustGeomPath", LocalsDir) AndAlso
sInfoPath.Trim = LocalsDir.Trim & LocalsName.Trim) Then
nCounter += 1
End If
End While
Dim IndexLay As Integer = TempList.Count - nCounter
Dim IndexLay As Integer = Math.Max( TempList.Count - nCounter, 0)
' ottengo la posizione prevista nella grafica
Dim IndexInList As Integer = DdfFile.GetIndexInList(TempList, CurrCompo)
While IndexInList < TempList.Count And nIdLay <> GDB_ID.NULL
' recupero l'ordinamento del layer
If sInfoPath.Contains(sCompoName) And IndexLay = IndexInList Then
If sInfoPath.IndexOf( sCompoName, StringComparison.InvariantCultureIgnoreCase) >= 0 And IndexLay = IndexInList Then
EgtSetMark(nIdLay)
' evidenzio la compo corrente
TempList(IndexInList).SetMark()
' ricerca terminata correttamente
Return True
ElseIf sInfoPath.Contains(sCompoName) And IndexInList < IndexLay Then
ElseIf sInfoPath.IndexOf( sCompoName, StringComparison.InvariantCultureIgnoreCase) >= 0 And IndexInList < IndexLay Then
IndexInList += 1
Else
Return False