Unity Spain

Mesa de ayuda => Unity3D => Scripting => Mensaje iniciado por: Megadok en Febrero 25, 2020, 09:33:40 PM

Título: Instanciar scriptable object
Publicado por: Megadok en Febrero 25, 2020, 09:33:40 PM
Hola chicos. Tengo una base de datos con scriptables objects de la clase item.
 
El problema que tengo es que si los instancio , si cambio alguna variable de la instancia, se cambia automaticamente la variable de scriptable que esta en la base de datos.
 
¿Cómo podría clonar de alguna manera una clase dentro de una base de datos sin que se altere la original que está guardada y pueda alterar solamente la copia?
 
GRACIAS!!!!
 
 
Título: Instanciar scriptable object
Publicado por: iRobb en Febrero 25, 2020, 09:51:25 PM
Un scriptable no se instancia. Es global y único por objeto. Crea otro scriptable igual con datos diferentes.
Título: Instanciar scriptable object
Publicado por: Megadok en Febrero 25, 2020, 10:00:02 PM
Quiero crear una clase item con los mismos valores que el scriptable almacenado, pero ademas quiero modificarlos, y que no se modifique el objeto almacenado. ¿Se puede?
Título: Instanciar scriptable object
Publicado por: iRobb en Febrero 25, 2020, 10:45:07 PM
Un scriptable está serializado.Todo lo que modifiques queda guardado en play o editor mode. Esa es su diferencia respecto a un objeto instanciado a partir de un prefab que solamente mantiene sus datos en play mode.
Título: Instanciar scriptable object
Publicado por: francoe1 en Febrero 25, 2020, 10:54:21 PM
Podrías encapsular la información "temporal" dentro de una estructura. Luego en el SO creas un campo privado y serializado y un accesor publico, al ser una estructura es imposible ser editada pero podrías tener la información y copiarla en un variable temporal para poder editarla a gusto.