Пример #1
0
        public override void Update(GameTime gameTime)
        {
            int clickedPoint = RegisterInput();

            switch (State)
            {
            case GameState.Animating:
                if (!Board.InAnimation)
                {
                    if (NotifyPropertyChanged.Count != 0)
                    {
                        PlayAnimation(NotifyPropertyChanged[0]);
                    }
                    else
                    {
                        BeginTurn();
                    }
                }
                break;

            case GameState.PickChecker:
                if (MovableCheckers.Contains(clickedPoint))
                {
                    PickChecker(clickedPoint);
                }
                break;

            case GameState.PickDestination:
                if ((clickedPoint == SelectedPoint && !SelectedPoint.Equals(CurrentPlayer.GetBar())) || InputManager.Instance.GamePadButtonPressed(Buttons.B))
                {     // Cancel selected checker
                    BeginTurn();
                    AudioManager.Instance.PlaySound("MenuClick");
                }
                else if (ViewInterface.GetLegalMovesForCheckerAtPosition(SelectedPoint).Contains(clickedPoint))
                {
                    MoveChecker(clickedPoint);
                }
                break;
            }

            base.Update(gameTime);
            Image.Update(gameTime);
            GamePadArrow.Update(gameTime);
            Board.Update(gameTime);
            if (OptionScreen.ShowPips.SwitchedOn)
            {
                WhitePips.Text = "White: " + Model.GetGameBoardState().pip(White);
                BlackPips.Text = "Black: " + Model.GetGameBoardState().pip(Black);
                WhitePips.Update(gameTime);
                BlackPips.Update(gameTime);
            }
            foreach (Image DiceImage in DiceImages)
            {
                DiceImage.Update(gameTime);
            }
        }
Пример #2
0
 public override void Draw(SpriteBatch spriteBatch)
 {
     Image.Draw(spriteBatch);
     GamePadArrow.Draw(spriteBatch);
     Board.Draw(spriteBatch);
     if (OptionScreen.ShowPips.SwitchedOn)
     {
         WhitePips.Draw(spriteBatch);
         BlackPips.Draw(spriteBatch);
     }
     foreach (Image DiceImage in DiceImages)
     {
         DiceImage.Draw(spriteBatch);
     }
 }
Пример #3
0
 public override void UnloadContent()
 {
     base.UnloadContent();
     Image.UnloadContent();
     GamePadArrow.UnloadContent();
     if (OptionScreen.ShowPips.SwitchedOn)
     {
         WhitePips.UnloadContent();
         BlackPips.UnloadContent();
     }
     foreach (Image DiceImage in DiceImages)
     {
         DiceImage.UnloadContent();
     }
 }