Esempio n. 1
0
        private async void LoadData()
        {
            Games.Clear();
            var games = await GameDefinitionSource.LoadDataAsync();

            foreach (var gameDefinition in games)
            {
                var gameData = storage.Get <GameData>("GameData." + gameDefinition.UniqueId) ?? new GameData();
                gameData.Description = gameDefinition.Title;
                gameData.Rank        = BinaryGame.GetRank(gameData.BestPiece);
                Games.Add(gameData);
            }
        }
Esempio n. 2
0
        public void Init()
        {
            Games   = new ObservableCollection <GameDefinition>();
            Loaded += async(sender, args) =>
            {
                if (Games.Count > 0)
                {
                    return;
                }

                foreach (var game in await GameDefinitionSource.LoadDataAsync())
                {
                    Games.Add(game);
                }
            };
        }
Esempio n. 3
0
        private async void ResetAllScores_Click(object sender, RoutedEventArgs e)
        {
            var answer = await MessageBox.ShowAsync(
                "Are you sure you want to clear all scores and achievements?", "Reset Scores", MessageBoxButton.OKCancel);

            if (answer != MessageBoxResult.OK)
            {
                return;
            }

            var games = await GameDefinitionSource.LoadDataAsync();

            foreach (var gameDefinition in games)
            {
                storage.Delete("GameData." + gameDefinition.UniqueId);
            }

            LoadData();
        }
Esempio n. 4
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            if (bc.Game == null)
            {
                var games = await GameDefinitionSource.LoadDataAsync();

                var gameDefinition = games.FirstOrDefault(g => g.UniqueId == (string)e.Parameter);
                if (gameDefinition == null)
                {
                    return;
                }

                bc.Build(gameDefinition);

                bc.Game.TileMoved += GameOnTileMoved;
                bc.NewHighScore   += GameOnNewHighScore;
                bc.NewAchievement += GameOnNewAchievement;
                bc.Game.GameWon   += GameOnGameWon;
                bc.Game.GameOver  += GameOnGameOver;
            }

            if (TotalScore == 0)
            {
                bc.LoadData();
                TotalScore = bc.Game.Score;
                BestScore  = bc.Game.GameData.BestScore;
                Rank       = BinaryGame.GetRank(bc.Game.GameData.BestPiece);
            }
            Rank = BinaryGame.GetRank(bc.Game.GameData.BestPiece);

#if GOOGLE_ANALYTICS
            EasyTracker.GetTracker().SendView("Main" + bc.Game.GameDefinition.UniqueId);
#endif

            if (TotalScore == 0)
            {
                PlayGrid.AnimateAsync(new FadeInAnimation {
                    Delay = 0.3
                });
                PlayButton.AnimateAsync(new BounceInUpAnimation {
                    Delay = 0.4
                });

                PlayGrid.IsHitTestVisible   = true;
                PlayButton.IsHitTestVisible = true;
            }
            else
            {
                PlayGrid.Opacity            = 0;
                PlayGrid.IsHitTestVisible   = false;
                PlayButton.Opacity          = 0;
                PlayButton.IsHitTestVisible = false;
            }

            DataTransferManager.GetForCurrentView().DataRequested += DataTransferManagerOnDataRequested;

            Window.Current.CoreWindow.KeyUp  += CoreWindow_KeyUp;
            Window.Current.VisibilityChanged += OnVisibilityChanged;
        }