private void StartRoomListener(string oda)
{
if (!isRoomListenerActive)
{
isRoomListenerActive = true;
databaseReference.Child("odalar2").Child(oda).Child("durum").ValueChanged += HandleRoomValueChanged;
}
}
private void HandleRoomValueChanged(object sender, ValueChangedEventArgs args)
{
if (args.Snapshot != null && args.Snapshot.Exists)
{
string json = args.Snapshot.GetRawJsonValue();
if (int.Parse(json) == 1)
{
Debug.Log("Durum 1 oldu");
}
}
}
private void StopRoomListener(string oda)
{
if (isRoomListenerActive)
{
isRoomListenerActive = false;
databaseReference.Child("odalar2").Child(oda).Child("durum").ValueChanged -= HandleRoomValueChanged;
}
} Unity'de firebase realtime dinleyicisini durduramamak
1
●90
- 22-09-2023, 13:30:05Arkadaşlar merhaba unity'de bir projem var. Firebase realtime database'i kullanıyorum. Bir dinleyici oluşturuyorum. Daha sonra bu dinleyiciyi durdurmak istiyorum ama durduramıyorum. Kafayı yemek üzereyim. Kodlar aşağıda yardımcı olur musunuz? Şimdiden teşekkürler.
- 22-09-2023, 14:36:19degisken ata
private EventHandler<ValueChangedEventArgs> roomValueChangedHandler;
private void StartRoomListener(string oda) { if (!isRoomListenerActive) { isRoomListenerActive = true; databaseReference.Child("odalar2").Child(oda).Child("durum").ValueChanged += HandleRoomValueChanged; } }satırını böyle degiştir
private void StartRoomListener(string oda) { if (!isRoomListenerActive) { isRoomListenerActive = true; roomValueChangedHandler = HandleRoomValueChanged; databaseReference.Child("odalar2").Child(oda).Child("durum").ValueChanged += roomValueChangedHandler; } }satirini
private void StopRoomListener(string oda) { if (isRoomListenerActive) { isRoomListenerActive = false; databaseReference.Child("odalar2").Child(oda).Child("durum").ValueChanged -= HandleRoomValueChanged; } }böyle degiştir
private void StopRoomListener(string oda) { if (isRoomListenerActive) { isRoomListenerActive = false; if (roomValueChangedHandler != null) { databaseReference.Child("odalar2").Child(oda).Child("durum").ValueChanged -= roomValueChangedHandler; roomValueChangedHandler = null; } } }