Exemple #1
0
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);
            GraphicsDevice.Viewport = gameView;

            spriteBatch.Begin(SpriteSortMode.Deferred,
                              BlendState.AlphaBlend,
                              SamplerState.PointClamp,
                              null,
                              null,
                              null,
                              Camera.Transform);

            switch (state)
            {
            case GameState.TitleScreen:
                break;

            case GameState.MainMenu:
                mainmenu.Draw(spriteBatch);
                break;

            case GameState.NewGame:
                newgame.Draw(spriteBatch);
                break;

            case GameState.Running:
                Tilemanager.Draw(spriteBatch);
                Playermanager.Draw(spriteBatch);
                break;

            case GameState.Paused:
                Tilemanager.Draw(spriteBatch);
                Playermanager.Draw(spriteBatch);
                pausemenu.Draw(spriteBatch);
                break;
            }
            //spriteBatch.DrawString(FpsFont, Convert.ToString(MaxTicks), new Vector2(750, 50), Color.White);

            spriteBatch.End();

            //
            GraphicsDevice.Viewport = sideHUD;
            spriteBatch.Begin();
            Texture2D rect = new Texture2D(graphics.GraphicsDevice, sideHUD.Width, sideHUD.Height);

            Color[] data = new Color[sideHUD.Width * sideHUD.Height];
            for (int i = 0; i < data.Length; ++i)
            {
                data[i] = Color.DarkGray;
            }
            rect.SetData(data);

            spriteBatch.Draw(rect, Vector2.Zero, Color.White);

            spriteBatch.End();

            base.Draw(gameTime);
        }
Exemple #2
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            TouchManager.Instance.Update(Camera);

            // Update camera position
            //Vector2 cameraMovement = Vector2.Zero;
            //position += cameraMovement/Camera.Zoom;

            switch (state)
            {
            case GameState.TitleScreen:
                break;

            case GameState.MainMenu:
                mainmenu.Update();
                Camera.Zoom = 1f;
                Camera.Update(Vector2.Zero, 64 * 32, 64 * 32);
                position = Camera.Position;
                break;

            case GameState.NewGame:

                newgame.Update(gameTime, this);
                Camera.Update(Vector2.Zero, 64 * 32, 64 * 32);
                position = Camera.Position;
                break;

            case GameState.LoadGame:
                //Tilemanager.LoadMap(mapname);
                Playermanager.Players[Playermanager.CurrentPlayerID].NewRound();
                Playermanager.Players[Playermanager.CurrentPlayerID].NewRound();
                state = GameState.Running;

                break;

            case GameState.SaveGame:
                Playermanager.SaveGame(SaveDir);

                break;

            case GameState.Running:
                Playermanager.Update(gameTime, this);
                Tilemanager.Update();
                Camera.Zoom = 2f;
                position   -= TouchManager.Instance.SwipeDirection / Camera.Zoom;
                Camera.Update(position,
                              Tilemanager.MapBounds.Width,
                              Tilemanager.MapBounds.Height);
                position = Camera.Position;
                //Camera.Update(GraphicsDevice.Viewport);

                /*if (Esc.IsKeyDown(Keys.Escape) == true)
                 * {
                 *  state = GameState.Paused;
                 * }
                 * if ((Playermanager.player[Playermanager.playing].end == true && Playermanager.player[Playermanager.playing].hud.newBool == false) || (Playermanager.player[Playermanager.notplaying].end == true && Playermanager.player[Playermanager.notplaying].hud.newBool == false))
                 * {
                 *  state = GameState.MainMenu;
                 *
                 * }*/

                break;


            case GameState.Paused:
                pausemenu.Update();

                break;

            case GameState.Exit:
                this.Exit();
                break;
            }

            // FPS räknare---------------------------------
            //if (tSec == DateTime.Now.Second)
            //{
            //    tTicks += 1;
            //}
            //else
            //{
            //    MaxTicks = tTicks;
            //    tTicks = 0;
            //    tSec = DateTime.Now.Second;
            //}
            //--------------------------------------------

            base.Update(gameTime);
        }