[RESOLU][DB_AL] probleme d'initiallisation de variable

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
chabis
Messages : 31
Inscription : 23 Oct 2017 22:16

[RESOLU][DB_AL] probleme d'initiallisation de variable

Message par chabis » 10 Nov 2017 19:14

bonjour,

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();

        }
       
    }
}
Dernière édition par chabis le 11 Nov 2017 17:54, édité 1 fois.

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: [DB_AL] probleme d'initiallisation de variable

Message par Max » 11 Nov 2017 13:06

Bonjour chabis,

ton soucis je pense vient de cette ligne:

Code : Tout sélectionner

listasset = new GameObject[cmp + 1];
En fait, tu ne redimensionnes pas ton tableau (contrairement à ce que tu penses), mais tu en créés un nouveau à chaque itération, de plus en plus grand.
Regarde du coté de Array.Resize en C#, cela devrait solutionner une partie de ton soucis ;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

chabis
Messages : 31
Inscription : 23 Oct 2017 22:16

Re: [DB_AL] probleme d'initiallisation de variable

Message par chabis » 11 Nov 2017 14:50

merci !

Avatar de l’utilisateur
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

Re: [DB_AL] probleme d'initiallisation de variable

Message par E3DStef » 11 Nov 2017 16:45

Si cela a résolu ton souci, n'oublie pas de passer ton post en [RESOLU]

Merci

A+

Stef
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

chabis
Messages : 31
Inscription : 23 Oct 2017 22:16

Re: [DB_AL] probleme d'initiallisation de variable

Message par chabis » 11 Nov 2017 17:40

attend je test ;)

chabis
Messages : 31
Inscription : 23 Oct 2017 22:16

Re: [RESOLU][DB_AL] probleme d'initiallisation de variable

Message par chabis » 11 Nov 2017 17:56

ok, re merci donc,
"c'est un petit pas pour l'homme, mais c'est déjà ca de pris..."

Répondre

Revenir vers « (C#) CSharp »