Example #1
0
 public static void SignOut()
 {
     if (!Social.localUser.authenticated)
     {
         return;
     }
     PlayGamesPlatform.Instance.SignOut();
     PlayerPrefs.SetInt("DataWasReadFromCloud", 0);
     GameManager.Instance.CurrentLocalData = new LocalData();
     LocalDataManager.WriteLocalData(GameManager.Instance.CurrentLocalData);
 }
Example #2
0
 public void SaveDataToCloudAndToLocalMemory()
 {
     SaveGridStateToLocalData();
     LocalDataManager.WriteLocalData(GameManager.CurrentLocalData);
     if (!BestsWasChanged)
     {
         return;
     }
     GPGSManager.AddScoreToLeaderboard(SideLength, GameManager.CurrentLocalData.BestScores[SideLength - 3]);
     GPGSManager.WriteDataToCloud(GameManager.dataName,
                                  Converter.ToByteArray(GameManager.CurrentLocalData.BestScores));
 }
Example #3
0
        private void Awake()
        {
            Instance = this;

            LocalDataManager.ReadLocalData(data =>
            {
                CurrentLocalData = data ?? new LocalData();
                menuGameMode     = CurrentLocalData.LastGameMode;
                uiManager.UpdateModeText();
            });

            if (!PlayerPrefs.HasKey("GameWasPlayed"))
            {
                PlayerPrefs.SetInt("DataWasReadFromCloud", 0);
            }
            GPGSManager.Initialize();
            GPGSManager.SignIn(InitializeSignInOrOutGPGSButtonColor, dataName, OnDataRead);
        }
Example #4
0
        private void OnDataRead(byte[] data)
        {
            int[] dataInt     = Converter.ToIntArray(data);
            bool  dataIsEmpty = dataInt.All(element => element == 0);

            if (!dataIsEmpty)
            {
                CurrentLocalData.BestScores = dataInt;
                LocalDataManager.WriteLocalData(CurrentLocalData);
                GridManager.State = GridState.Nothing;
            }
            else
            {
                bool localDataIsEmpty = CurrentLocalData.BestScores.All(element => element == 0);
                if (!localDataIsEmpty)
                {
                    GPGSManager.WriteDataToCloud(dataName, Converter.ToByteArray(CurrentLocalData.BestScores));
                }
            }
        }