Unity 6.3
0 онлайн 2 гостей 3 в системе
Вход

ScriptableObject.OnDisable()

Описание

Эта функция вызывается, когда скриптовый объект выходит за пределы области действия.

OnDisable вызывается в следующих сценариях:

  • При загрузке сцены в окне Hierarchy, для любого ScriptableObject, который в настоящее время загружен в память, но не упоминается в этой сцене.
  • При вызове Resources.UnloadUnusedAssets для любого ScriptableObject, который ранее был снят в окне Project.
  • На домене перезагрузитьдля всех ScriptableObjects, загруженных в память. Впоследствии OnEnable будет вызван для этих объектов при их воссоздании.

OnDisable не может быть сопутствующей программой.

using UnityEngine;
using System;

public class EventManager { public static Action OnSomethingHappened;

public static void TriggerEvent() { OnSomethingHappened?.Invoke(); } }

// ScriptableObject that listens to an event and unsubscribes when disabled [CreateAssetMenu(menuName = "Example/Event Listener SO")] public class EventListenerSO : ScriptableObject { void OnEnable() { Debug.Log("ScriptableObject enabled. Subscribing to event."); EventManager.OnSomethingHappened += HandleEvent; }

void OnDisable() { Debug.Log("ScriptableObject disabled. Unsubscribing from event."); EventManager.OnSomethingHappened -= HandleEvent; }

void HandleEvent() { Debug.Log("Event received by ScriptableObject!"); } }