IEnumerator Tests()
    {
        Firebase firebase = Firebase.CreateNew(datebaseUrl, "P860mYzzDiNtxNjlD6O1B5m9vMgaNocYyKUGK4et");

        // Init callbacks
        firebase.OnGetSuccess    += GetOKHandler;
        firebase.OnGetFailed     += GetFailHandler;
        firebase.OnSetSuccess    += SetOKHandler;
        firebase.OnSetFailed     += SetFailHandler;
        firebase.OnUpdateSuccess += UpdateOKHandler;
        firebase.OnUpdateFailed  += UpdateFailHandler;
        firebase.OnPushSuccess   += PushOKHandler;
        firebase.OnPushFailed    += PushFailHandler;
        firebase.OnDeleteSuccess += DelOKHandler;
        firebase.OnDeleteFailed  += DelFailHandler;

        // Get child node from firebase, if false then all the callbacks are not inherited.
        action = firebase.Child("action", true);

        FirebaseObserver observer = new FirebaseObserver(action, 1f);

        observer.OnChange += (Firebase sender, DataSnapshot snapshot) =>
        {
            DoDebug("[OBSERVER] Last updated changed to: " + snapshot.Value <long>());
            action.GetValue();
        };
        observer.Start();


        // Unnecessarily skips a frame, really, unnecessary.
        yield return(null);

        // action.GetValue();
        StateController.Instance.StartController();
    }
Exemple #2
0
    public void StartListening()
    {
        observer           = new FirebaseObserver(firebase.Child(gameManager.game.code + "/playerPosition"), 1f);
        observer.OnChange += (Firebase sender, DataSnapshot snapshot) =>
        {
            Dictionary <string, object> dict = snapshot.Value <Dictionary <string, object> >();

            float x = System.Convert.ToSingle(dict["x"]);
            float y = System.Convert.ToSingle(dict["y"]);
            float z = System.Convert.ToSingle(dict["z"]);

            gameManager.game.playerPosition = new Vector3(x, y, z);

            gameManager.MovePlayer();

            //Debug.Log("playerposx: " + game.playerPosition);


/*
 *                      // are all the bets in?
 *                      if (answerCount == dict.Count)
 *                      {
 *                          observer.Stop();
 *                      }
 */
        };

        observer.Start();
    }
Exemple #3
0
    public void StartListening()
    {
        observer           = new FirebaseObserver(firebase.Child(gameManager.game.code), 1f);
        observer.OnChange += OnChange;

        //Debug.Log("playerposx: " + game.playerPosition);


/*
 *                      // are all the bets in?
 *                      if (answerCount == dict.Count)
 *                      {
 *                          observer.Stop();
 *                      }
 */

        observer.Start();
    }
Exemple #4
0
    IEnumerator getFirebaseBPM()
    {
        Firebase firebase = Firebase.CreateNew("https://pulsesensor-a13e2.firebaseio.com/PulseData", "RyvmMbMFgX2vxBhbv2XQDlLZhZ1Y7NOFr9E0EmYG");

        // Get child node from firebase, if false then all the callbacks are not inherited.
        Firebase lastPulseReading = firebase.Child("BPM");

        // Make observer on "last update" time stamp
        FirebaseObserver observer = new FirebaseObserver(lastPulseReading, 1f);

        observer.OnChange += (Firebase sender, DataSnapshot snapshot) =>
        {
            // DebugLog("[OBSERVER] Last Pulsereading changed to: " + snapshot.Value<long>());
            int newBPM = unchecked ((int)snapshot.Value <long>());

            if (lastBPM - newBPM >= 10)
            {
                bpmState = "DESCENDING";
            }
            else if (newBPM >= 100)
            {
                bpmState = "HIGH";
            }
            else
            {
                bpmState = "NEUTRAL";
            }

            lastBPM = unchecked ((int)snapshot.Value <long>());
            DebugLog(bpmState);
        };
        observer.Start();
        DebugLog("[OBSERVER] FirebaseObserver on " + lastPulseReading.FullKey + " started!");

        // Unnecessarily skips a frame, really, unnecessary.
        yield return(null);

        // Create a FirebaseQueue
        FirebaseQueue firebaseQueue = new FirebaseQueue(true, 3, 1f); // if _skipOnRequestError is set to false, queue will stuck on request Get.LimitToLast(-1).
    }
    IEnumerator Tests()
    {
        // README
        DebugLog("This plugin simply wraps Firebase's RealTime Database REST API.\nPlease read here for better understanding of the API: https://firebase.google.com/docs/reference/rest/database/\n");

        // Inits Firebase using Firebase Secret Key as Auth
        // The current provided implementation not yet including Auth Token Generation
        // If you're using this sample Firebase End,
        // there's a possibility that your request conflicts with other simple-firebase-c# user's request
        SimpleFirebaseUnity.Firebase firebase = SimpleFirebaseUnity.Firebase.CreateNew("https://simple-firebase-unity.firebaseio.com", "WQV9t78OywD8Pp7jvGuAi8K6g0MV8p9FAzkJ7rWK");

        // Init callbacks
        firebase.OnGetSuccess    += GetOKHandler;
        firebase.OnGetFailed     += GetFailHandler;
        firebase.OnSetSuccess    += SetOKHandler;
        firebase.OnSetFailed     += SetFailHandler;
        firebase.OnUpdateSuccess += UpdateOKHandler;
        firebase.OnUpdateFailed  += UpdateFailHandler;
        firebase.OnPushSuccess   += PushOKHandler;
        firebase.OnPushFailed    += PushFailHandler;
        firebase.OnDeleteSuccess += DelOKHandler;
        firebase.OnDeleteFailed  += DelFailHandler;

        // Get child node from firebase, if false then all the callbacks are not inherited.
        SimpleFirebaseUnity.Firebase temporary  = firebase.Child("temporary", true);
        SimpleFirebaseUnity.Firebase lastUpdate = firebase.Child("lastUpdate");

        lastUpdate.OnGetSuccess += GetTimeStamp;

        // Make observer on "last update" time stamp
        FirebaseObserver observer = new FirebaseObserver(lastUpdate, 1f);

        observer.OnChange += (SimpleFirebaseUnity.Firebase sender, DataSnapshot snapshot) =>
        {
            DebugLog("[OBSERVER] Last updated changed to: " + snapshot.Value <long>());
        };
        observer.Start();
        DebugLog("[OBSERVER] FirebaseObserver on " + lastUpdate.FullKey + " started!");

        // Print details
        DebugLog("Firebase endpoint: " + firebase.Endpoint);
        DebugLog("Firebase key: " + firebase.Key);
        DebugLog("Firebase fullKey: " + firebase.FullKey);
        DebugLog("Firebase child key: " + temporary.Key);
        DebugLog("Firebase child fullKey: " + temporary.FullKey);

        // Unnecessarily skips a frame, really, unnecessary.
        yield return(null);

        // Create a FirebaseQueue
        FirebaseQueue firebaseQueue = new FirebaseQueue(true, 3, 1f); // if _skipOnRequestError is set to false, queue will stuck on request Get.LimitToLast(-1).


        // Test #1: Test all firebase commands, using FirebaseQueueManager
        // The requests should be running in order
        firebaseQueue.AddQueueSet(firebase, GetSampleScoreBoard(), FirebaseParam.Empty.PrintSilent());
        firebaseQueue.AddQueuePush(firebase.Child("broadcasts", true), "{ \"name\": \"simple-firebase-csharp\", \"message\": \"awesome!\"}", true);
        firebaseQueue.AddQueueSetTimeStamp(firebase, "lastUpdate");
        firebaseQueue.AddQueueGet(firebase, "print=pretty");
        firebaseQueue.AddQueueUpdate(firebase.Child("layout", true), "{\"x\": 5.8, \"y\":-94}");
        firebaseQueue.AddQueueGet(firebase.Child("layout", true));
        firebaseQueue.AddQueueGet(lastUpdate);

        //Deliberately make an error for an example
        DebugWarning("[WARNING] There is one invalid request below (Get with invalid OrderBy) which will gives error, only for the sake of example on error handling.");
        firebaseQueue.AddQueueGet(firebase, FirebaseParam.Empty.LimitToLast(-1));

        // (~~ -.-)~~
        DebugLog("==== Wait for seconds 15f ======");
        yield return(new WaitForSeconds(15f));

        DebugLog("==== Wait over... ====");


        // Test #2: Calls without using FirebaseQueueManager
        // The requests could overtake each other (ran asynchronously)
        firebase.Child("broadcasts", true).Push("{ \"name\": \"dikra\", \"message\": \"hope it runs well...\"}", false);
        firebase.GetValue(FirebaseParam.Empty.OrderByKey().LimitToFirst(2));
        temporary.GetValue();
        firebase.GetValue(FirebaseParam.Empty.OrderByKey().LimitToLast(2));
        temporary.GetValue();

        // Please note that orderBy "rating" is possible because I already defined the index on the Rule.
        // If you use your own endpoint, you might get an error if you haven't set it on your Rule.
        firebase.Child("scores", true).GetValue(FirebaseParam.Empty.OrderByChild("rating").LimitToFirst(2));
        firebase.GetRules(GetRulesOKHandler, GetRulesFailHandler);

        // ~~(-.- ~~)
        yield return(null);

        DebugLog("==== Wait for seconds 15f ======");
        yield return(new WaitForSeconds(15f));

        DebugLog("==== Wait over... ====");

        // We need to clear the queue as the queue is left with one error command (the one we deliberately inserted last time).
        // When the queue stuck with an error command at its head, the next (or the newly added command) will never be processed.
        firebaseQueue.ForceClearQueue();
        yield return(null);

        // Test #3: Delete the frb_child and broadcasts
        firebaseQueue.AddQueueGet(firebase);
        firebaseQueue.AddQueueDelete(temporary);

        // Please notice that the OnSuccess/OnFailed handler is not inherited since Child second parameter not set to true.
        DebugLog("'broadcasts' node is deleted silently.");
        firebaseQueue.AddQueueDelete(firebase.Child("broadcasts"));
        firebaseQueue.AddQueueGet(firebase);

        // ~~(-.-)~~
        yield return(null);

        DebugLog("==== Wait for seconds 15f ======");
        yield return(new WaitForSeconds(15f));

        DebugLog("==== Wait over... ====");
        observer.Stop();
        DebugLog("[OBSERVER] FirebaseObserver on " + lastUpdate.FullKey + " stopped!");
    }
Exemple #6
0
    IEnumerator Tests()
    {
        // Inits Firebase using Firebase Secret Key as Auth
        // The current provided implementation not yet including Auth Token Generation
        // If you're using this sample Firebase End,
        // there's a possibility that your request conflicts with other simple-firebase-c# user's request
        Firebase firebase = Firebase.CreateNew(datebaseUrl, "P860mYzzDiNtxNjlD6O1B5m9vMgaNocYyKUGK4et");

        // Init callbacks
        firebase.OnGetSuccess    += GetOKHandler;
        firebase.OnGetFailed     += GetFailHandler;
        firebase.OnSetSuccess    += SetOKHandler;
        firebase.OnSetFailed     += SetFailHandler;
        firebase.OnUpdateSuccess += UpdateOKHandler;
        firebase.OnUpdateFailed  += UpdateFailHandler;
        firebase.OnPushSuccess   += PushOKHandler;
        firebase.OnPushFailed    += PushFailHandler;
        firebase.OnDeleteSuccess += DelOKHandler;
        firebase.OnDeleteFailed  += DelFailHandler;

        // Get child node from firebase, if false then all the callbacks are not inherited.
        //	Firebase temporary = firebase.Child (ShowNetworkInterfaces(), true);
        //	Firebase lastUpdate = firebase.Child ("lastUpdate");
        //
        //	lastUpdate.OnGetSuccess += GetTimeStamp;
        //
        //	// Make observer on "last update" time stamp
        FirebaseObserver observer = new FirebaseObserver(firebase, 1f);

        observer.OnChange += (Firebase sender, DataSnapshot snapshot) => {
            DoDebug("[OBSERVER] Last updated changed to: " + snapshot.Value <long>());
            firebase.Child("action", true).GetValue();
        };
        observer.Start();
        //	DoDebug ("[OBSERVER] FirebaseObserver on " + lastUpdate.FullKey +" started!");
        //
        //	// Print details
        DoDebug("Firebase endpoint: " + firebase.Endpoint);
        //	DoDebug("Firebase key: " + firebase.Key);
        //	DoDebug("Firebase fullKey: " + firebase.FullKey);
        //	DoDebug("Firebase child key: " + temporary.Key);
        //	DoDebug("Firebase child fullKey: " + temporary.FullKey);

        // Unnecessarily skips a frame, really, unnecessary.
        yield return(null);

        //firebase.UpdateValue(firebase.Child("action",true),"{\"sync\":DDD}");
        // Create a FirebaseQueue
        FirebaseQueue firebaseQueue = new FirebaseQueue();

        // Test #1: Test all firebase commands, using FirebaseQueueManager
        // The requests should be running in order
        //firebaseQueue.AddQueueSet (firebase, GetSampleScoreBoard (), FirebaseParam.Empty.PrintSilent ());
        //firebaseQueue.AddQueuePush (firebase.Child ("broadcasts", true), "{ \"name\": \"simple-firebase-csharp\", \"message\": \"awesome!\"}", true);
        //firebaseQueue.AddQueueSetTimeStamp (firebase, "lastUpdate");
        //firebaseQueue.AddQueueGet (firebase, "print=pretty");
        firebaseQueue.AddQueueUpdate(firebase.Child("action", true), "{\"sync\": \"DOne\"}", true);


        //   firebaseQueue.AddQueueGet(firebase.Child("action", true));
        //firebaseQueue.AddQueueGet (lastUpdate);
        //
        ////Deliberately make an error for an example
        //DoDebug("[WARNING] There is one invalid request below which will gives error, only for example on error handling.");
        //firebaseQueue.AddQueueGet (firebase, FirebaseParam.Empty.LimitToLast(-1));
        //
        //
        //// (~~ -.-)~~
        DoDebug("==== Wait for seconds 15f ======");
        yield return(new WaitForSeconds(15f));

        DoDebug("==== Wait over... ====");


        // Test #2: Calls without using FirebaseQueueManager
        // The requests could overtake each other (ran asynchronously)
        //	firebase.Child("broadcasts", true).Push("{ \"name\": \"dikra\", \"message\": \"hope it runs well...\"}", true);
        //	firebase.GetValue(FirebaseParam.Empty.OrderByKey().LimitToFirst(2));
        //	temporary.GetValue ();
        //	firebase.GetValue (FirebaseParam.Empty.OrderByKey().LimitToLast(2));
        //	temporary.GetValue ();
        //	firebase.Child ("scores", true).GetValue(FirebaseParam.Empty.OrderByChild ("rating").LimitToFirst(2));
        //	firebase.GetRules (GetRulesOKHandler, GetRulesFailHandler);

        // ~~(-.- ~~)
        yield return(null);

        DoDebug("==== Wait for seconds 15f ======");
        yield return(new WaitForSeconds(15f));

        DoDebug("==== Wait over... ====");


        // Test #3: Delete the frb_child and broadcasts
        //	firebaseQueue.AddQueueGet (firebase);
        //	firebaseQueue.AddQueueDelete(temporary);
        // please notice that the OnSuccess/OnFailed handler is not inherited since Child second parameter not set to true.
        DoDebug("'broadcasts' node is deleted silently.");
        //	firebaseQueue.AddQueueDelete (firebase.Child ("broadcasts"));
        //	firebaseQueue.AddQueueGet (firebase);

        // ~~(-.-)~~
        yield return(null);

        DoDebug("==== Wait for seconds 15f ======");
        yield return(new WaitForSeconds(15f));

        DoDebug("==== Wait over... ====");
        //	observer.Stop ();
        //	DoDebug ("[OBSERVER] FirebaseObserver on " + lastUpdate.FullKey +" stopped!");
    }