public async Task ReadPowerupsAsync() { try { await Task.Run(() => { var result = FireBaseReader.ReadAsync <PowerupEntity>(FireBaseSavePaths.PlayerPowerupLocation()); foreach (var entity in result.Result) { UserPowerupManager.Instance.Powerups.Add(new PowerupCollection() { Powerup = PowerupFactory.GetPowerup(entity.Name), Count = entity.Count }); } }); } catch (Exception ex) { DebugLogger.Instance.WriteException(ex); } }
public void WritePowerups(List <PowerupCollection> powerups) { var data = new List <PowerupEntity>(); foreach (PowerupCollection powerupCollected in powerups) { data.Add(new PowerupEntity() { Name = powerupCollected.Powerup.GetType().Name, Count = powerupCollected.Count }); } var toJson = JsonHelper.ToJson(data.ToArray()); var result = System.Threading.Tasks.Task.Run(() => FireBaseDatabase.Database.Child(FireBaseSavePaths.PlayerPowerupLocation()).SetRawJsonValueAsync(toJson)); if (result.IsCanceled || result.IsFaulted) { Debug.LogWarning(result.Exception); } }