J'imagine que t'a n'a pas vu la fonction que j'ai posté dans les messages plus haut mais c'est exactement se que je fais.
Bon sinon je vais travailler plus la chose pour la postions.
Bon je pense avoir résolu mon problème pour l'instant, j'ai rajouté une boucle qui vérifie que la cell récupéré dans les dlm correspond bien aux cells de StatedElement, ça semble faire le taff.
C#:
public static void setFarmCell()
{
UsableElement item;
bool Bool = true;
StaticInfos.usableElement.Clear();
foreach (InteractiveElement i in StaticInfos.element)
{
InteractiveElement ie = i as InteractiveElement;
foreach (Layer l in Data.layers)
{
foreach (Cell c in l.cells)
{
foreach (BasicElement b in c.elements)
{
if (b is GraphicalElement)
{
GraphicalElement ge = b as GraphicalElement;
if (ge.identifier == ie.elementId)
{
foreach (StatedElement cId in StaticInfos.statedElement)
{
if (cId.elementCellId == c.cellId)
{
item = new UsableElement()
{
cellId = (short)cId.elementCellId,
elementId = ie.elementId,
element = ie,
skills = ie.enabledSkills
};
foreach (UsableElement u in StaticInfos.usableElement)
{
if (u.cellId == item.cellId)
Bool = false;
}
if (Bool)
StaticInfos.usableElement.Add(item);
Bool = true;
break;
}
}
}
}
}
}
}
}
}