Можно ли упростить этот код | Unity x Firebase - PullRequest
0 голосов
/ 16 марта 2020
FirebaseDatabase.DefaultInstance.GetReference("/USERS/").Child(id).SetValueAsync(0);
FirebaseDatabase.DefaultInstance.GetReference("/USERS/" + id + "/").Child("A").SetValueAsync(0);
FirebaseDatabase.DefaultInstance.GetReference("/USERS/" + id + "/").Child("B").SetValueAsync(0);

Этот код требует много строк при одновременном создании большого количества новых дочерних элементов.

Кажется, что это также приводит к потере сетевого взаимодействия.

Можете ли вы сделать это проще, потому что FirebaseDatabase.DefaultInstance.GetReference("/USERS/") это то же самое?

1 Ответ

1 голос
/ 16 марта 2020

Из того, что я вижу, ваш код создаст эту JSON структуру

"UERS": {
  "$uid": {
    "A": 0,
    "B": 0,
  }
}

Если так:

  1. Ваш первый вызов не нужен, так как он есть перезаписывается вторым звонком. Firebase автоматически создает ключи, когда вы записываете в них значения, и автоматически удаляет ключи, у которых больше нет значений.

  2. Вы можете объединить два оставшихся вызова, передав их в один словарь:

    FirebaseDatabase.DefaultInstance.GetReference("/USERS/")
        .Child(id)
        .SetValueAsync(new Dictionary<string, int> {
            { "A", 0 },
            { "B", 0 }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...