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);
}
}
}