void Awake()
        {
            VkSetts = Resources.Load <VkSettings> ("VkSettings");
            InitToken();
            DontDestroyOnLoad(transform.gameObject);
            if (VkApiInstance == null)
            {
                VkApiInstance = this;
            }
            if (Downloader == null)
            {
                Downloader = GetComponent <Downloader> ();
            }

#if UNITY_EDITOR
            CheckEditorSetup();
#endif


            if (VKToken.IsValidToken(CurrentToken))
            {
                IsUserLoggedIn = true;
            }
            else
            {
                IsUserLoggedIn = false;
            }
        }
        private IEnumerator _Call(VKRequest httprequest)
        {
            httprequest.url = httprequest.url.Contains("?")?httprequest.url:httprequest.url + "?";
            if (string.IsNullOrEmpty(httprequest.fullurl))
            {
                if (httprequest.url.StartsWith("http"))
                {
                    httprequest.fullurl = httprequest.url;
                }
                else
                {
                    httprequest.fullurl = Utilities.GenerateFullHttpReqString(httprequest.url);
                }
            }

            if (VKToken.IsValidToken(CurrentToken))
            {
                WWW www = new WWW(httprequest.fullurl);
                yield return(www);

                HandleResponse(www, httprequest);
            }
            else
            {
                HandleTokenExpired(httprequest);
            }
        }
 public void CheckEditorSetup()
 {
     if (string.IsNullOrEmpty(CurrentToken.access_token) ||
         !VKToken.IsValidToken(CurrentToken))
     {
         VkSetts.ProcessAuthUrl();
     }
     if (!VKToken.IsValidToken(CurrentToken))
     {
         Debug.LogError("Token has expired, please relogin to vk in editor");
         Debug.Break();
     }
 }