游戏对象未在“捕捉”中设置为活动状态。我检查了一切

问题描述 投票:0回答:0

这是我想做的:

尝试检查是否有互联网连接。如果没有互联网连接,我想激活一个显示“没有互联网连接”的面板。

我把面板拖到inspector那里。将此面板设置为活动的脚本位于层次结构中活动的游戏对象上。

代码如下:

public GameObject NoInternetConnectionPanel;

private void Start()
    {
        //Check Internet Connection
        InvokeRepeating("CheckInternetConnection", 0f, 1f);
    }

private void CheckInternetConnection()
    {
        var request = WebRequest.Create("http://google.com");
        request.Method = "HEAD";

        request.BeginGetResponse(result =>
        {
            try
           {
                using (var response = request.EndGetResponse(result) as HttpWebResponse)
                {
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        Debug.Log("Internet connection available");
                    }
                    /*else
                    {
                        Debug.Log("No internet connection");
                    }*/
                }
            }
            catch (WebException ex)
            {
                Debug.Log("No internet connection");
                NoInternetConnectionPanel.SetActive(true);
            }
        }, null);
        
        StartCoroutine(WaitAndCheck());
    }
    private IEnumerator WaitAndCheck()
    {
        yield return new WaitForSeconds(1f);
        
    }

控制台中显示调试日志消息“无互联网连接”。但是“NoInternetConnectionPanel.SetActive(true)”不起作用。

可能是什么问题?

c# unity3d
© www.soinside.com 2019 - 2024. All rights reserved.