Unity Spain
Mesa de ayuda => Unity3D => Scripting => Mensaje iniciado 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!!!!
Un scriptable no se instancia. Es global y único por objeto. Crea otro scriptable igual con datos diferentes.
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?
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.
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.