static IEnumerator DownloadRoutine <T>(string dataSetUrl, Action <T> callback) where T : class { if (!string.IsNullOrEmpty(dataSetUrl)) { UnityWebRequest dataSetRequest = new UnityWebRequest(dataSetUrl); dataSetRequest.downloadHandler = new DownloadHandlerBuffer(); yield return(dataSetRequest.SendWebRequest()); if (!string.IsNullOrEmpty(dataSetRequest.error)) { Debug.LogError(dataSetRequest.error); ToastBehaviour toast = GameObject.FindObjectOfType <ToastBehaviour>(); if (toast) { toast.ShowToast(UNABLE_TO_REACH_SERVER, TOAST_TTL); } callback.Invoke(null as T); yield break; } string jsonData = dataSetRequest.downloadHandler.text; T data = JsonUtility.FromJson <T>(jsonData); if (data != null) { callback.Invoke(data as T); } else { Debug.LogError("Failed to parse remote dataset into " + typeof(T).Name + " " + jsonData); } } }
public static void ShowSpotify(ToastBehaviour behaviour) { ToastWindowViewModel toastWindowViewModel = new ToastWindowViewModel(behaviour, ToastType.Spotify) { Toast = new SpotifyToastViewModel() }; ShowToast(toastWindowViewModel); }
public static void ShowError(string message, ToastBehaviour behaviour) { ToastWindowViewModel toastWindowViewModel = new ToastWindowViewModel(behaviour, ToastType.Error) { Toast = new ErrorToastViewModel(message) }; ShowToast(toastWindowViewModel); }
public static void ShowError(Exception exception, ToastBehaviour behaviour) { ToastWindowViewModel toastWindowViewModel = new ToastWindowViewModel(behaviour, ToastType.Error) { Toast = new ErrorToastViewModel(exception) }; ShowToast(toastWindowViewModel); }
public static void ShowWarning(ToastBehaviour behaviour) { ToastWindowViewModel toastWindowViewModel = new ToastWindowViewModel(behaviour, ToastType.Warning) { Toast = new WarningToastViewModel() }; ShowToast(toastWindowViewModel); }
public ToastWindowViewModel(ToastBehaviour behaviour, ToastType type) { Behaviour = behaviour; Type = type; }