Запускайте код в MonoBehaviour всякий раз, когда добавляется другой компонент.C#

Место общения программистов C#
Anonymous
Запускайте код в MonoBehaviour всякий раз, когда добавляется другой компонент.

Сообщение Anonymous »

В Unity MonoBehaviour имеют различные методы, которые запускаются автоматически, когда что-то происходит с ними/игровым объектом, к которому они прикреплены, например: OnDestroy(), OnEnable(), OnValidate() .
Интересно, есть ли способ написать MonoBehaviour, в котором код запускается всякий раз, когда к связанному с ним GameObject() добавляется другой компонент. Например, мне нужно что-то похожее на это:

Код: Выделить всё

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MyMonoBehaviour: MonoBehaviour
{
void OnComponentAdded(MonoBehaviour component)
{
Debug.Log("Component added!")
}
}
Таким образом, если бы я когда-либо добавлял компонент к чему-то, к чему уже был прикреплен компонент MyMonoBehaviour, в моем приведенном выше примере добавленный компонент! был бы зарегистрирован в консоли.
Однако я не вижу никакого способа сделать это на самом деле, просматривая документацию MonoBehaviour.
Возможно, это возможно, но я просто не знаю, как это сделать. сделай это. Если да, то кто-нибудь, пожалуйста, скажите мне, как это можно сделать!

Подробнее здесь: https://stackoverflow.com/questions/798 ... t-is-added

Вернуться в «C#»