Надеюсь, я проясню свой вопрос настолько, насколько это возможно. В основном
У меня есть список сотен элементов, сохраненных в моем FirebaseDatabse.
Я преобразую данные в JSON
Теперь я хочу использовать этот JSON и применить все данные к различным элементам в сцене единства
Я попытался прочитать все узлы / элементы в моей базе данных огнядочерний раздел, и я также объявил метод 'foreach', чтобы что-то делать с каждым потомком, с которым он сталкивается. Но это не работает, когда я хочу вызвать другой класс или функцию внутри метода 'foreach', и я понятия не имею, почему это не так!
Я действительно ценю любую помощь или идею для достижения этого. Если возможно, я хочу создать метод «foreach» и по-разному обрабатывать каждый элемент, поскольку ключ отличается, равно как и значение каждого элемента, присутствующего в JSON.
Player.Child(UserId).Child("User_Inventory").Child("Items").GetValueAsync().ContinueWith(task => {
if (task.IsFaulted)
{
// Handle the error...
Debug.LogError("Could not finish (LoadPlayerData) !!");
}
else if (task.IsCompleted)
{
DataSnapshot snapshot = task.Result;
// here is the data for all the items that I have
string JSON = snapshot.GetRawJsonValue();
// Now How can I deal with each key/item present in the JSON?
```
[Обновить]
public void RetrieveData () {
Player.Child(UserId)
.Child("User_Inventory").GetValueAsync().ContinueWith(task => {
if (task.IsFaulted)
{
// Handle the error...
Debug.LogError("Could not finish (LoadPlayerData) !!");
}
else if (task.IsCompleted)
{
DataSnapshot snapshot = task.Result;
foreach (DataSnapshot child in snapshot.Children)
{
print(Child); // shows only one child's data when the below
//line of code is present!!
DisplayInfo(Child.Key, (int)Child.Value);
}
}});
}
public GameObject Item;
public GameObject Contents;
public void DisplayInfo(string Name, int quantity)
{
Item = Contents.transform.parent.Find(Name).GetComponent<QTY_UI>();
Item.Qty = quantity; // just passing quantity to another class
}