C# Unity 3D:此SendMessage中使用了什么方法?

C# Unity 3D:此SendMessage中使用了什么方法?,c#,.net,visual-studio,unity3d,C#,.net,Visual Studio,Unity3d,我有一个脚本正在运行OnValidate(),在编辑器中更新游戏对象。有时,当事情重置时,脚本将运行以下行: private void OnValidate() { if (reset == true) { obj.transform.parent = transform; } } 作为回报,我在控制台中得到一些警告,如下所示: SendMessage cannot be called during Awake, CheckConsistency, or

我有一个脚本正在运行OnValidate(),在编辑器中更新游戏对象。有时,当事情重置时,脚本将运行以下行:

private void OnValidate()
{
    if (reset == true)
    {
        obj.transform.parent = transform;
    }
}
作为回报,我在控制台中得到一些警告,如下所示:

SendMessage cannot be called during Awake, CheckConsistency, or OnValidate
UnityEngine.Transform:set_parent(Transform)
Planet:Initialize() (at Assets/Planet.cs:46)
Planet:OnValidate() (at Assets/Planet.cs:20)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
因此,我的问题是:程序试图使用无法调用的SendMessage发送什么消息/方法?请参阅


显然,set_parent在封面后面使用SendMessage,这在OnValidate调用中可能会出现问题。

是的,我也发现了这一点。我想我在寻找更好的解释。我很想知道到底是什么原因导致出错,这样我至少可以留意一下。谢谢你!