Я работаю в школьном проекте с использованием Unity и Firebase, где мне нужно отобразить имя пользователя текущего пользователя в текстовом поле.
Я уже получаю данные из Firebase, но когда
Я пытаюсь установить текст userNameText, ничего не происходит.
Это мой код:
Переменные:
private DatabaseReference reference;
private string userName;
public Text userNameText;
Инициализация:
void Start()
{
//database reference (I'm hiding the project id)
FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://projectID.firebaseio.com/");
// Get the root reference location of the database.
reference = FirebaseDatabase.DefaultInstance.RootReference;
GetUserData();
}
GetUserData ():
public void GetUserData()
{
reference.Child("users").Child(PlayerPrefs.GetString("userUID")).GetValueAsync().ContinueWith(task =>
{
if (task.IsFaulted)
{
Debug.Log("something was wrong");
}
else if (task.IsCompleted)
{
Dictionary<string, object> results = (Dictionary<string, object>)task.Result.Value;
userName= (string)results["userName"];
Debug.Log(userName);
userNameText.text = userName;
}
});
}
Когда я запускаю проект, он просто отображает имя пользователя в консоли, но текстовое поле еще не обновлено.