je travaille sur mon générateur de map qui crée des objets contenant d'autres objets ( une maison contient x stockage qui contiennent x objets ).
Ces infos sont stockée dans un fichier texte ( afin de pouvoir par la suite sauvegarder l'état ).
je récupère les infos et les traites comme ceci :
les infos à récupérer dans le fichier texte :
.maison1.
armoire1,
pomme;
livre;
fusil;
armoire2,
...
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.IO;
public class Object_gen : MonoBehaviour {
// lors de la création de l'object, génère une liste aléatoire d'objets qui sera stockée dans un fichier texte
// si l'objet a déjà été créé, ce script récupère la liste d'objet
List<string> buffer3 = new List<string>();
string buffer2 ;
string buffer;
void Start ()
{
// récupère les données depuis le fichier texte et les ranges dans des listes
TextReader reader;
string fileName = "Res_externes/test.txt";
reader = new StreamReader(fileName);
string result = reader.ReadToEnd();
reader.Close();
string[] objtlist = result.Split('.'); // les valeurs impaires retournent les items généraux et les pairs leurs contenus.
int lenght = objtlist.Length;
for (int i=1;i<lenght;i++)
{
if(i%2 == 0)
{
string[] objtlist2 = objtlist[i].Split(','); // les valeurs impaires retournent les items généraux et les pairs leurs contenus.
int lenght2 = objtlist2.Length;
for (int j=1;j<lenght2;j++)
{
if(j%2 == 0)
{
string[] objtlist3 = objtlist2[j].Split(';'); // les valeurs impaires retournent les items généraux et les pairs leurs contenus.
int lenght3 = objtlist3.Length;
buffer3.Clear();
for (int k=0;k<lenght3-1;k++)
{
buffer3.Add(objtlist3[k]); // troisième niveau d'info
}
foreach (string a in buffer3) {
print (a);
}
}
else
{
print (objtlist2[j]); // deuxième niveau d'info
}
}
}
else
{
print (objtlist[i]); // premier niveau d'info
}
}
}
}
C'est pas super clair donc pour simplifier j'ai trois boucles imbriquée et chaque boucle me donne un niveau d'info
à la fin de ma troisième boucle si je stock chaque fois dans une variable l'objtlist correspondant j'ai 3 variables contenant Maison, une liste de container et une liste d'objet par container.
Voila pour l'introduction :p, si vous êtes toujours là, voila la question :
Comment imbriquer mes trois variables afin de ne pas perdre de l'info ( et que tout soit stocké avec ce qui s'y rapporte )
maison1 -> armoire 1 -> list objet
-> armoire 2 -> list d'objet
J'ai essayé en imbriquant des lists dans des lists ( list<list<list<string>>> ) mais je n'arrive pas à ajouter mes données dedans
merci d'avoir lu mes conneries ^^ !
En espérant ne pas être responsable d'une calvitie précoce à cause de mon code tout laid ^^.
Et en espérant avoir une solution à mon soucis :p