示例#1
0
 public static FirebaseCommunicator GetInstance()
 {
     if (instance == null)
     {
         instance = new FirebaseCommunicator();
     }
     return(instance);
 }
    // Start is called before the first frame update
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
            DontDestroyOnLoad(this);
        }
        else
        {
            Destroy(this);
        }

#if UNITY_EDITOR
        var db = FirebaseDatabase.DefaultInstance;
        db.SetPersistenceEnabled(false);
#endif

        auth     = FirebaseAuth.DefaultInstance;
        database = FirebaseDatabase.DefaultInstance.RootReference;
    }
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.I))
        {
            FirebaseCommunicator.GetInstance().StartLogging();
        }
        if (Input.GetKeyDown(KeyCode.O))
        {
            FirebaseCommunicator.GetInstance().SaveGameData();
        }
        if (Input.GetKeyDown(KeyCode.P))
        {
            HighscoreService.GetInstance().GetOverAllHighscores().ContinueWithOnMainThread(task =>
            {
                List <HighscoreModel> models = task.Result;

                foreach (HighscoreModel model in models)
                {
                    Debug.Log("test: " + model.score);
                }
            });
        }
    }