thanks, in fact i trying to debug this code to swap two node into my game editor.
Don't know why this not works. (have e1 and e2 data swapped, but not works on the treeview ! if i comment the lines
' permutation des noeuds
'e.Noeud = e1. Noeud
'e1.Noeud = e2. Noeud
'e2.Noeud = e. Noeud
it's works ! it's not logic !!! i don't find my mistakes !
Function Permuter_ennemi : Int (e1:TE_Ennemi, e2:TE_Ennemi)
' permutation de noeud : attention ne fonctionne que pour les ennemis dans un même groupe !
If e1.Noeud_Groupe <> e2.Noeud_Groupe Then
Notify "impossible de permuter deux ennemis de groupe différent !"
Return False
Else
ActivateGadget Treeview
Local e:TE_Ennemi = New TE_Ennemi
' permutation des valeurs
Notify "e1=" + e1.label + "/e2=" + e2.label
e.Liste_Projectiles = e1.Liste_Projectiles
e.Liste_tirs = e1.Liste_tirs
e. Liste_tirs_lasers = e1. Liste_tirs_lasers
e. Liste_tirs_boulets = e1. Liste_tirs_boulets
e. Liste_tirs_missiles = e1. Liste_tirs_missiles
e. Liste_trajectoires = e1. Liste_trajectoires
e. Liste_navpoints = e1. Liste_navpoints
e. id = e1. id
e. Label = e1. Label
e. Modele = e1. Modele
e. PosX = e1. PosX
e. PosY = e1. PosY
e. bRotation = e1. bRotation
e. Angle = e1. Angle
e. bSuivreScrolling = e1. bSuivreScrolling
e. bBloquerScrolling = e1. bBloquerScrolling
e. bNavTrajectoire = e1. bNavTrajectoire
e. PauseDebut = e1. PauseDebut
e. ModeleBonus = e1. ModeleBonus
e. NomPartie = e1. NomPartie
e. OrdrePartie = e1. OrdrePartie
e. Deplacements = e1. Deplacements
e. NbSuiveurs = e1. NbSuiveurs
e. TempsEntreSuiveurs = e1. TempsEntreSuiveurs
' --------------------------------------------
e1.Liste_Projectiles = e2.Liste_Projectiles
e1.Liste_tirs = e2.Liste_tirs
e1. Liste_tirs_lasers = e2. Liste_tirs_lasers
e1. Liste_tirs_boulets = e2. Liste_tirs_boulets
e1. Liste_tirs_missiles = e2. Liste_tirs_missiles
e1. Liste_trajectoires = e2. Liste_trajectoires
e1. Liste_navpoints = e2. Liste_navpoints
e1. id = e2. id
e1. Label = e2. Label
e1. Modele = e2. Modele
e1. PosX = e2. PosX
e1. PosY = e2. PosY
e1. bRotation = e2. bRotation
e1. Angle = e2. Angle
e1. bSuivreScrolling = e2. bSuivreScrolling
e1. bBloquerScrolling = e2. bBloquerScrolling
e1. bNavTrajectoire = e2. bNavTrajectoire
e1. PauseDebut = e2. PauseDebut
e1. ModeleBonus = e2. ModeleBonus
e1. NomPartie = e2. NomPartie
e1. OrdrePartie = e2. OrdrePartie
e1. Deplacements = e2. Deplacements
e1. NbSuiveurs = e2. NbSuiveurs
e1. TempsEntreSuiveurs = e2. TempsEntreSuiveurs
' ------------------------
e2.Liste_Projectiles = e.Liste_Projectiles
e2.Liste_tirs = e.Liste_tirs
e2. Liste_tirs_lasers = e. Liste_tirs_lasers
e2. Liste_tirs_boulets = e. Liste_tirs_boulets
e2. Liste_tirs_missiles = e. Liste_tirs_missiles
e2. Liste_trajectoires = e. Liste_trajectoires
e2. Liste_navpoints = e. Liste_navpoints
e2. id = e. id
e2. Label = e. Label
e2. Modele = e. Modele
e2. PosX = e. PosX
e2. PosY = e. PosY
e2. bRotation = e. bRotation
e2. Angle = e. Angle
e2. bSuivreScrolling = e. bSuivreScrolling
e2. bBloquerScrolling = e. bBloquerScrolling
e2. bNavTrajectoire = e. bNavTrajectoire
e2. PauseDebut = e. PauseDebut
e2. ModeleBonus = e. ModeleBonus
e2. NomPartie = e. NomPartie
e2. OrdrePartie = e. OrdrePartie
e2. Deplacements = e. Deplacements
e2. NbSuiveurs = e. NbSuiveurs
e2. TempsEntreSuiveurs = e. TempsEntreSuiveurs
Notify "e1=" + e1.label + "/e2=" + e2.label
' suppression des anciens noeuds
FreeTreeViewNode e1. Noeud_parametres
FreeTreeViewNode e1. Noeud_navpoints
FreeTreeViewNode e1. Noeud_trajectoire
FreeTreeViewNode e1. Noeud_Tir
FreeTreeViewNode e1. Noeud_Tir_lasers
FreeTreeViewNode e1. Noeud_Tir_boulets
FreeTreeViewNode e1. Noeud_Tir_missiles
FreeTreeViewNode e2. Noeud_parametres
FreeTreeViewNode e2. Noeud_navpoints
FreeTreeViewNode e2. Noeud_trajectoire
FreeTreeViewNode e2. Noeud_Tir
FreeTreeViewNode e2. Noeud_Tir_lasers
FreeTreeViewNode e2. Noeud_Tir_boulets
FreeTreeViewNode e2. Noeud_Tir_missiles
' permutation des noeuds
e.Noeud = e1. Noeud
e1.Noeud = e2. Noeud
e2.Noeud = e. Noeud
'création des sous-noeuds de e1
e1. Noeud_parametres = AddTreeViewNode (Tl.Donner("Paramètres ",503) , e1. Noeud)
e1. Noeud_navpoints = AddTreeViewNode (Tl.Donner("Nav points",504) , e1. Noeud)
e1. Noeud_trajectoire = AddTreeViewNode (Tl.Donner("Trajectoires",505), e1. Noeud)
e1. Noeud_Tir = AddTreeViewNode (Tl.Donner("Tirs",506) , e1. Noeud)
e1. Noeud_Tir_lasers = AddTreeViewNode (Tl.Donner("Tir lasers",507) , e1. Noeud_Tir)
e1. Noeud_Tir_boulets = AddTreeViewNode (Tl.Donner("Tir boulets",508) , e1. Noeud_Tir)
e1. Noeud_Tir_missiles = AddTreeViewNode (Tl.Donner("Tir missiles",509), e1. Noeud_Tir)
AddTreeViewNode "e1", e1.Noeud
' création des sous-noeuds de e2
e2. Noeud_parametres = AddTreeViewNode (Tl.Donner("Paramètres ",503) , e2. Noeud)
e2. Noeud_navpoints = AddTreeViewNode (Tl.Donner("Nav points",504) , e2. Noeud)
e2. Noeud_trajectoire = AddTreeViewNode (Tl.Donner("Trajectoires",505), e2. Noeud)
e2. Noeud_Tir = AddTreeViewNode (Tl.Donner("Tirs",506) , e2. Noeud)
e2. Noeud_Tir_lasers = AddTreeViewNode (Tl.Donner("Tir lasers",507) , e2. Noeud_Tir)
e2. Noeud_Tir_boulets = AddTreeViewNode (Tl.Donner("Tir boulets",508) , e2. Noeud_Tir)
e2. Noeud_Tir_missiles = AddTreeViewNode (Tl.Donner("Tir missiles",509), e2. Noeud_Tir)
AddTreeViewNode "e2", e2.Noeud
' modification du nom
ModifyTreeViewNode (e1.Noeud, "[" + String (e1.id) + "] " + e1.Label)
ModifyTreeViewNode (e2.Noeud, "[" + String (e2.id) + "] " + e2.Label)
' affectation des objets créés pour e1
For Local n:TE_Navpoint = EachIn e1. Liste_navpoints
n.noeud = AddTreeViewNode (Tl.Donner("nav ",564) + String (n.Id), e1.Noeud_navpoints)
Next
For Local t:TE_Trajectoire = EachIn e1.Liste_trajectoires
AddTreeViewNode (t.Id + " : " + t. Niveau_trajectoire_label, e1.Noeud_trajectoire)
Next
For Local n:TE_Laser = EachIn e1.Liste_tirs_lasers
n.noeud = AddTreeViewNode (Tl.Donner("laser ", 565) + String (n.Id) , e1.Noeud_Tir_lasers)
Next
For Local n:TE_Boulet = EachIn e1.Liste_tirs_boulets
n.noeud = AddTreeViewNode (Tl.Donner("boulet ",566) + String (n.Id) , e1.Noeud_Tir_boulets)
Next
For Local n:TE_Missile = EachIn e1.Liste_tirs_missiles
n.noeud = AddTreeViewNode (Tl.Donner("missile ",567) + String (n.Id) , e1.Noeud_Tir_missiles)
Next
' affectation des objets créés pour e2
For Local n:TE_Navpoint = EachIn e2. Liste_navpoints
n.noeud = AddTreeViewNode (Tl.Donner("nav ",564) + String (n.Id), e2.Noeud_navpoints)
Next
For Local t:TE_Trajectoire = EachIn e2.Liste_trajectoires
AddTreeViewNode (t.Id + " : " + t. Niveau_trajectoire_label, e2.Noeud_trajectoire)
Next
For Local n:TE_Laser = EachIn e2.Liste_tirs_lasers
n.noeud = AddTreeViewNode (Tl.Donner("laser ", 565) + String (n.Id) , e2.Noeud_Tir_lasers)
Next
For Local n:TE_Boulet = EachIn e2.Liste_tirs_boulets
n.noeud = AddTreeViewNode (Tl.Donner("boulet ",566) + String (n.Id) , e2.Noeud_Tir_boulets)
Next
For Local n:TE_Missile = EachIn e2.Liste_tirs_missiles
n.noeud = AddTreeViewNode (Tl.Donner("missile ",567) + String (n.Id) , e2.Noeud_Tir_missiles)
Next
' efface e
e = Null
' actualise le treeview
Treeview.activate(ACTIVATE_REDRAW)
Return True
End If
End Function