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); } }
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); } }
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(); } }