Unity C#

OnEnable в Unity C#: активация компонента и объекта

Метод OnEnable в Unity вызывается каждый раз, когда объект со скриптом активируется. Его удобно использовать для действий, которые должны происходить при каждой активации: подписки на события или обновления данных.

Особенности

  • Автоматический вызов: срабатывает, когда объект становится активным (например, через SetActive(true)).
  • Повторное выполнение: вызывается при каждой активации, даже если объект ранее отключали.
  • Для подготовки: подписка на события, инициализация временных данных, настройка объекта.

Пример кода

При активации объект восстанавливает здоровье до 100:

using UnityEngine;

public class Player : MonoBehaviour
{
    private int health = 100;

    // Метод OnEnable вызывается каждый раз при активации объекта
    void OnEnable()
    {
        Debug.Log("Объект активирован.");
        health = 100; // Восстанавливаем здоровье при активации
    }

    void Update()
    {
        // Пример уменьшения здоровья
        if (Input.GetKeyDown(KeyCode.Space))
        {
            health -= 10;
            Debug.Log("Здоровье: " + health);
        }
    }
}