可以用一个脚本专门做这两个方法,省的每个页面都做一份:
public class PanelSelect : MonoBehaviour
{
//方便在其他脚本里 . 出来
public static PanelSelect instance;
private void Awake()
{
instance = this;
}
//传入的参数是MonoBehaviour,因为需要失活的脚本都继承了这个类
public void ShowPanel(MonoBehaviour instance)
{
instance.gameObject.SetActive(true);
}
public void HidePanel(MonoBehaviour instance)
{
instance.gameObject.SetActive(false);
}
}
另外注意因为Awake阶段可能先后顺序不一致,如果其他脚本要在这个阶段调用这个PanelSelect.instace的话可能失败,所以可以放在Start阶段,以下是示例:
private void Awake()
{
instance=this;
}
private void Start()
{
PanelSelect.instance.HidePanel(this);
}