public Player LoadPlayerData(GlobalSettings settings)
        {
            Player player = new Player();

            if (HasPlayerData)
            {
                try
                {
                    JsonUtility.FromJsonOverwrite(PlayerData, player);
                    player = LoadLevelProgress(player, settings);
                    Crashlytics.SetUserIdentifier(player.Guid);
                }
                catch (Exception e)
                {
                    Debug.LogException(e, this);

                    print($"[PREFS] [PLAYER] Exception caught, creating default player: {PlayerData}");
                    player = CreateDefaultPlayer(settings);
                }
            }
            else
            {
                print($"[PREFS] [PLAYER] No player data found, creating default player: {PlayerData}");
                player = CreateDefaultPlayer(settings);
                PersistPlayerProgress(player);
            }

            //print($"[PREFS] [PLAYER] Setting server game level: {PlayerData}");
            //player.MainPuzzleIndex = HasMainLevelIndexData ? MainGameLevelIndex : 0;
            return(player);
        }
        private Player CreateDefaultPlayer(GlobalSettings settings)
        {
            print($"[PREFS] [PLAYER] CREATE NEW player");

            string levelProg = BlankLevelInfo(settings);

            settings.levelGroupingSettings[0].Locked = false;
            for (int i = 1; i < settings.levelGroupingSettings.Length; i++)
            {
                settings.levelGroupingSettings[i].Locked = true;
            }

            Player player = new Player
            {
                Name       = "New User",
                Guid       = Guid.NewGuid().ToString(),
                Coins      = settings.Coins.StartCoinCount,
                Hints      = settings.Hints.StartHintCount,
                Film       = settings.Film.StartFilmCount,
                IsNew      = true,
                GroupIndex = 0,
                CurrentLevelInGroupIndex = 0,
                MainPuzzleIndex          = 0,
                NewLocation        = false,
                FtuePassed         = false,
                LevelProgress      = levelProg,
                GameComplete       = false,
                ActiveGameSessions = 0,
                bonusSkus          = new List <string>()
            };

            Crashlytics.SetUserIdentifier(player.Guid);

            return(player);
        }
Exemplo n.º 3
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            Logger.Initialize(this.GetType().FullName);

            try
            {
                IO.Fabric.Sdk.Android.Fabric.With(this, new Com.Crashlytics.Android.Crashlytics());
                ISalesAppSession session = Resolver.Instance.Get <ISalesAppSession>();
                if (session != null)
                {
                    Crashlytics.SetUserIdentifier(session.UserId.ToString());
                    Crashlytics.SetUserName(session.FirstName + " " + session.LastName);
                }
            }
            catch (Exception e)
            {
                Logger.Error(e);
            }

            try
            {
                Appsee.AddAppseeListener(this);
            }
            catch (Exception e)
            {
                Logger.Error(e);
            }

            try
            {
                string key = "8d85ddd07dbb41909e60e7a54c6d0a7e";
#if RELEASE
                key = "16f9c8d0c2244b5dab0eef726d7a6245";
#endif
                Appsee.Start(key);
            }
            catch (Exception e)
            {
                Logger.Error(e);
            }
        }