le contexte est le suivant: via un bouton dans une nouvelle windows de l'editeur, je veux analyser un texte contenant sur chaque ligne un ensemble d'infos séparées par un "_".
la premiere info est le nom d'un asset et les suivantes differentes propiétés.
toujours est il que je veux rassembler tout les objets listés dans le texte , dans un array (listasset[]).
ci joint le code. à la fin il y a deux debug.log pour analyser le contenu du array.
le premier me donne bien le gameobjet dont il trouve le nom dans le texte, mais le second est null.
comme si le remplissage de l'array avait été temporaire...
il y a necessairement un probleme, probablement un probleme d'initialisation, mais je ne comprends pas.
si quelqu'un peut m'éclairer...
le code :
Code : Tout sélectionner
using UnityEditor;
using UnityEngine;
using System.IO;
using System.Text;
public class export_map : EditorWindow
{
private TextWriter writer;
private string[] val;
private string assetname;
private GameObject[] listasset;
[MenuItem("Window/Export Map")]
static void Init()
{
GetWindow(typeof(export_map));
}
public void OnGUI()
{
if (GUI.Button(new Rect(100, 60, 100, 20), new GUIContent("import map")))
{
// ouverture du fichier et recuperation des assets et transform
string fileName = "mymap.txt";
TextReader reader;
reader = new StreamReader(fileName);
string line;
int cmp = 0;
while (true)
{
line = reader.ReadLine(); // ligne par ligne
if (line == null) break;
string[] val = line.Split('_');
assetname = val[0];
GameObject hand = GameObject.Find(assetname);
listasset = new GameObject[cmp + 1];
listasset[cmp] = hand;
Debug.Log(listasset[0]);
cmp += 1;
}
Debug.Log(listasset[0]);
reader.Close();
}
}
}