示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="gameTime"></param>
        public void Update(GameTime gameTime)
        {
            MouseState ms = Mouse.GetState();

            currentMousePos = ms.Position;
            if (ms.LeftButton == ButtonState.Pressed && ms.LeftButton != lastState.LeftButton)
            {
                Actor actor = canGroup.HitTest(currentMousePos.X, currentMousePos.Y);
                if (actor != null)
                {
                    CanData data = (actor as CanActor).Data;
                    if (gameBoard.Select(data.x, data.y))
                    {
                        // Soundfx
                        MediaPlayer.Play(Assets.Instance.FadeSFX);
                        score += gameBoard.Collect();

                        // Check for game end
                        if (gameBoard.CheckGameOver())
                        {
                            // TODO: Show "Game Over" text and a restart button
                        }
                    }
                }
            }
            lastState = ms;

            canGroup.Act(gameTime);
        }
示例#2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="gameTime"></param>
 public override void Update(GameTime gameTime)
 {
     actors.Act(gameTime);
 }