Académique Documents
Professionnel Documents
Culture Documents
Los Scriptable Object son un tipo de componente (script) que puede contener
datos y métodos, igual que un componente normal, pero no necesita existir en
la escena para poder ejecutar sus métodos o acceder a sus datos desde otros
componentes de la escena. Parece un poco raro ¿verdad?
Características
Creamos una clase que será el modelo o plantilla para nuestro Scriptable
Object. Esta clase debe heredar de Scriptable Object. Para este ejemplo vamos
a hacer un sistema de diálogo sencillo en el que además del texto se mostrará
una imagen del personaje que está hablando.
using UnityEngine;
[CreateAssetMenu]
Ahora creamos un sencillo script de diálogo que reciba varios Scriptable Object
creados a partir de la clase anterior “ScriptableObjectExample”.
using UnityEngine;
using UnityEngine.UI;
ShowDialog(dialogs[dialogCounter]);
if (Input.GetMouseButtonUp(0))
dialogCounter++;
ShowDialog(dialogs[dialogCounter]);
else
dialogTextBox.gameObject.SetActive(false);
spritePosition.gameObject.SetActive(false);
}
//Asigna los valores del diálogo actual a los objetos de
la escena
spritePosition.sprite =
currentDialog.characterSprite;
dialogTextBox.text = currentDialog.dialogText;