Example #1
0
        public void Build(GameDefinition gameDefinition)
        {
            Game = new BinaryGame(gameDefinition);

            TileBackgroundGrid.RowDefinitions.Clear();
            TileBackgroundGrid.ColumnDefinitions.Clear();

            var style = Application.Current.Resources["EmptyBorder"] as Style;

            for (int x = 0; x < Game.BinaryGrid.Width; x++)
            {
                TileBackgroundGrid.ColumnDefinitions.Add(new ColumnDefinition());
            }
            for (int y = 0; y < Game.BinaryGrid.Height; y++)
            {
                TileBackgroundGrid.RowDefinitions.Add(new RowDefinition());
            }

            for (int x = 0; x < Game.BinaryGrid.Width; x++)
            {
                for (int y = 0; y < Game.BinaryGrid.Height; y++)
                {
                    var border = new Border {
                        Style = style
                    };

                    Grid.SetColumn(border, x);
                    Grid.SetRow(border, y);
                    TileBackgroundGrid.Children.Add(border);
                }
            }
        }
Example #2
0
 private void GameOnNewAchievement(object sender, int value)
 {
     if (value > 8)
     {
         Rank = BinaryGame.GetRank(bc.Game.GameData.BestPiece);
         ShowAchievement(Rank, "NEW ACHIEVEMENT", true);
     }
 }
Example #3
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);
            }
        }
Example #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;
        }