Функция Unity Pass в качестве параметра для слушателей базы данных Firebase - PullRequest
0 голосов
/ 24 августа 2018

У меня есть проект Unity с Firebase Database SDK.Для извлечения данных из базы данных используются слушатели.Я только что обнаружил, что все в одном слушателе "ValueChanged" не будет работать так, как мне нужно.Это означает, что вместо него, как я понимаю, я могу добавить вместо него ChildAdded, ChildRemoved и ChildChanged.Чтобы упростить это, потому что мне нужно прослушивать множество узлов в базе данных, я пытаюсь использовать функцию для настройки слушателей:

public void SetupLobbyListen(string givenLobbyUID) {
    FirebaseDatabase.DefaultInstance.GetReference("pending").Child(lobbyUID).Child("toMoveCreaturesUp").ValueChanged +=                                 HandleCreaturesMoved;
    AddListeners(FirebaseDatabase.DefaultInstance.GetReference("pending").Child(lobbyUID).Child("toMoveCreaturesDown"), HandleCreaturesMoved;
}

private void AddListeners(DatabaseReference givenReference, System.EventHandler<ChildChangedEventArgs> givenArgument) {
    givenReference.ChildAdded += givenArgument;
    givenReference.ChildRemoved += givenArgument;
    givenReference.ChildChanged += givenArgument;
}

Это не работает.Я получаю следующую ошибку:

cannot convert from 'method group' to EventHandler<ChildChangedEventArgs>

Я также не могу понять, как передать метод как сам по себе.Есть ли простой способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...