//Get all maps from admins/ and users/ public static void GetAllMapsForAdmin(MapListOperationSuccess callback, OperationFail fallback = null) { List <MapConfig> maps = new List <MapConfig>(); GetAllAdminMaps((adminMaps) => { maps.AddRange(adminMaps); GetAllUsersMaps((userMaps) => { maps.AddRange(userMaps); callback(maps); }, fallback); }, fallback); }
//Get all maps from admins/ public static void GetAllAdminMaps(MapListOperationSuccess callback, OperationFail fallback = null) { RestClient.Get($"{Config.DATABASE_URL}{Config.ADMINS_FOLDER}{Config.MAPS_FOLDER}.json?auth={Config.ID_TOKEN}").Then(response => { var maps = new List <MapConfig>(); var returnedJson = JsonConvert.DeserializeObject <Dictionary <string, MapConfig> >(response.Text); callback(new List <MapConfig>(returnedJson.Values)); }).Catch(err => { var error = err as RequestException; Debug.Log(error.Response); fallback(); }); }
//Get all maps of all users from users/ public static void GetAllUsersMaps(MapListOperationSuccess callback, OperationFail fallback = null) { RestClient.Get($"{Config.DATABASE_URL}{Config.USERS_FOLDER}.json?auth={Config.ID_TOKEN}").Then(response => { var returnedJson = JsonConvert.DeserializeObject <Dictionary <string, Dictionary <string, Dictionary <string, MapConfig> > > >(response.Text); var maps = new List <MapConfig>(); foreach (Dictionary <string, Dictionary <string, MapConfig> > dict1 in returnedJson.Values) { foreach (Dictionary <string, MapConfig> dict2 in dict1.Values) { foreach (MapConfig map in dict2.Values) { maps.Add(map); } } } callback(maps); }).Catch(err => { var error = err as RequestException; Debug.Log(error.Response); fallback(); }); }