//Retreive All QRCodes public void GetQRCodes(QRCodeListCallback callback) { FirebaseDatabase.DefaultInstance. GetReference(QRCODE_LIST) .GetValueAsync().ContinueWith((task) => { if (task.IsFaulted) { callback(null, "Could Not Load Enemy Locations"); } else if (task.IsCompleted) { List <QRCode> codes = new List <QRCode>(); DataSnapshot snapshot = task.Result; if (snapshot != null && snapshot.ChildrenCount > 0) { foreach (var childSnapshot in snapshot.Children) { string json = childSnapshot.GetRawJsonValue(); QRCode code = CreateQRCodeFromJSON(json); code.QRCodeID = childSnapshot.Key; codes.Add(code); } callback(codes, "Enemy Location Loaded"); } else { callback(null, "Enemies Not Found"); } } }); }
//Retreive All QRCodes Within Latitudes public void GetQRCodesWithinLatitudes(QRCodeListCallback callback, float start_lat, float end_lat) { FirebaseDatabase.DefaultInstance. GetReference(QRCODE_LIST) .OrderByChild(LATITUDE) .StartAt(start_lat) .EndAt(end_lat) .GetValueAsync() .ContinueWith((task) => { if (task.IsFaulted) { callback(null, "Could Not Load : Locations"); } else if (task.IsCompleted) { List <QRCode> codes = new List <QRCode>(); DataSnapshot snapshot = task.Result; if (snapshot != null && snapshot.ChildrenCount > 0) { foreach (var childSnapshot in snapshot.Children) { string json = childSnapshot.GetRawJsonValue(); QRCode code = CreateQRCodeFromJSON(json); code.QRCodeID = childSnapshot.Key; codes.Add(code); } callback(codes, "Enemies Found Nearby"); } else { callback(null, "No Enemies Nearby"); } } }); }