Page 1 sur 1

Probleme copie d'un Gameobject

Publié : 10 Août 2018 11:33
par Valeze
Salut ! j'ai un petit problème avec un script, en gros je fait un système de CTRL+Z / CTRL+Y pour un éditeur de map, et je doit copier un objet d'une liste à une autre et supprimer l'objet de la première liste tout en gardant une copie ( voici mon code ca expliquera mieux que moi) :

Code : Tout sélectionner

    private void RedoUndo()
    {
        if ((((Input.GetKey("right ctrl")) || (Input.GetKey("left ctrl"))) && (Input.GetKeyDown("z"))) || Input.GetKeyDown("j"))
        {
            if (idMapObject > 0)
            {
                GameObject _temp = objectToList[idMapObject - 1];
                listRedoObject.Add(tempRedo); // Save de l'objet pour redo
                idRedoMapObject += 1;
                Destroy(objectToList[idMapObject - 1]); // Detruit l'objet dans la scene
                objectToList.RemoveAt(idMapObject - 1); // Suprimme l'objet de la list
                idMapObject -= 1; // Revient a l'objet précédent
            }
        }
}
Donc je supprime bien mon objet de ma premiere liste (objectToList) mais ma copie de l'objet (_Temp) se supprime aussi (j'ai un missing GameObject dans la liste : listRedoObject)
Sa me parait tellement stupide, pourquoi je supprime le même objet, et comment rémédier à ca ?

Re: Probleme copie d'un Gameobject

Publié : 10 Août 2018 12:04
par boubouk50
_Temp ne copie pas le gameObject, il le référence. Si tu supprimes la référence, tu supprimes le _Temp.
Le plus simple, serait de ne pas supprimer le gameObject, mais de le désactiver. Tu le supprimeras plus tard, si les actions changent (donc plus de Ctrl + Y)