Esempio n. 1
0
 private void FindCompetitor(DataSnapshot snapshotData)
 {
     foreach (DataSnapshot dataSnapshot in snapshotData.Children)
     {
         if (!dataSnapshot.Key.Equals(user.GetLoggedUser().UserId))
         {
             lvlAddress = dataSnapshot.Key;
             break;
         }
     }
     FirebaseDatabase.DefaultInstance
     .GetReference("Tournaments")
     .Child(lvlAddress)
     .GetValueAsync().ContinueWith(task => {
         if (task.IsFaulted)
         {
         }
         else if (task.IsCompleted)
         {
             DataSnapshot snapshot = task.Result;
             wrapper    = JsonUtility.FromJson <TournamentDataWrapper>(snapshot.GetRawJsonValue());
             competitor = wrapper.creator.name;
             JoinMatch();
         }
     });
 }
Esempio n. 2
0
    public void OnGenerate()
    {
        playerRole = "creator";
        HideLayout();
        tournamentMessage.GetComponent <Text>().text = "Setting everything ready...";

        string email = user.GetLoggedUser().Email;

        wrapper = new TournamentDataWrapper(
            new Competitor(email.Substring(0, email.IndexOf('@')), false, 0, false),
            new Competitor("guest", false, 0, false),
            new LevelWrapper(level.GenerateLevel()));

        reference.Child("Tournaments")
        .Child(user.GetLoggedUser().UserId)
        .SetRawJsonValueAsync(JsonUtility.ToJson(wrapper));

        reference.Child("Tournaments")
        .Child(user.GetLoggedUser().UserId)
        .Child("guest")
        .Child("name").ValueChanged += HandleGuestJoined;

        reference.Child("Tournaments")
        .Child(user.GetLoggedUser().UserId)
        .Child("guest")
        .Child("ready").ValueChanged += HandleCompetitorReady;

        reference.Child("Tournaments")
        .Child(user.GetLoggedUser().UserId)
        .Child("guest")
        .Child("obstaclesTravelled").ValueChanged += HandleCompetitorTravelledObstacle;

        reference.Child("Tournaments")
        .Child(user.GetLoggedUser().UserId)
        .Child("guest")
        .Child("finished").ValueChanged += HandleCompetitorFinished;

        tournamentMessage.GetComponent <Text>().text = "Waiting for opponent...";
    }