ScriptableObject.OnDestroy()
Описание
Эта функция вызывается, когда скриптовый объект будет уничтожен.
Пример приведен ниже. В этом примере есть два скрипта. Первый показан как скрипт ScriptableObject. Этот скрипт реализует код, который отделен от скриптов MonoBehaviour. Второй — это небольшой скрипт, связанный с MonoBehaviour, который получает значения из скрипта ScriptableObject.
// A ScriptableObject example script. // The A and B members implement features which // are unrelated to MonoBehaviour.
using UnityEngine;
public class ScriptObj : ScriptableObject { int a = 10; int[] b = new int[5] {0, 17, 34, 42, 67};
public int A { get {return a; } }
// return value in b array, or -1 if x is out-of-range public int B(int x) { if (x >= 0 && x < 5) return b[x]; else return -1; }
public void Awake() { Debug.Log("Awake"); }
public void OnEnable() { Debug.Log("OnEnable"); }
public void OnDisable() { Debug.Log("OnDisable"); }
public void OnDestroy() { Debug.Log("OnDestroy"); } }
Следующий скрипт использует вышеуказанный скрипт ScriptableObject.
// create and access the ScriptObj
using UnityEngine;
public class ScriptObjExample : MonoBehaviour { ScriptObj test;
void Start() { test = (ScriptObj)ScriptableObject.CreateInstance(typeof(ScriptObj));
print(test.A); print(test.B(3)); print(test.B(-3)); } }
OnDestroy не может быть со-программой.