C# 在不破坏游戏对象的情况下调用方法或发送回调
我想在两个MonoBehavior类之间发送回调。我选择了singleton这样做。下面是我的代码C# 在不破坏游戏对象的情况下调用方法或发送回调,c#,unity3d,C#,Unity3d,我想在两个MonoBehavior类之间发送回调。我选择了singleton这样做。下面是我的代码 public class Main : MonoBehaviour { private static Main instance = null; public GameObject player; private Main() { } public static Main Instance { get {
public class Main : MonoBehaviour
{
private static Main instance = null;
public GameObject player;
private Main()
{
}
public static Main Instance
{
get
{
if (instance==null)
{
instance = new Main();
}
return instance;
}
}
public void onReceive()
{
//hide the gameobject on receiving notification.
player.SetActive(true);
}
}
我使用以下代码从另一个MonoBehavior类调用onReceive
Main.Instance.onReceive();
当然,我已经将玩家连接到unity游戏对象。不幸的是,当我使用singleton时,它是空的。如何将信息传递给Monobhavour类而不使游戏对象被销毁?传递详细信息不会杀死游戏对象,除非您写入以销毁它,但即使调用activate方法,它也不会隐藏游戏对象:(我试图通过按钮隐藏播放器,我能做到。但我不能通过singleton做到这一点。)(可能是因为播放器没有价值?没有价值?你能解释一下吗?