Ejemplo n.º 1
0
        /// <summary>
        /// Mets à jour l'état de ce contrôleur, et lui permet d'envoyer des commandes au héros.
        /// </summary>
        /// <param name="time"></param>
        public override void Update(GameTime time)
        {
            if (GameServer.GetScene().Mode == SceneMode.Game)
            {
                GameWindow.IsVisible = true;
                GameWindow.Area      = MapRdr.Viewport;

                // Passage du mode d'édition au mode normal.
                if (Input.IsTrigger(Microsoft.Xna.Framework.Input.Keys.LeftControl) && !Input.IsTrigger(Microsoft.Xna.Framework.Input.Keys.RightAlt))
                {
                    EditMode = !EditMode;
                }

                // Toogle de la capture de la souris.
                if (Input.IsTrigger(Microsoft.Xna.Framework.Input.Keys.RightControl))
                {
                    m_captureMouse = !m_captureMouse;
                }


                // Capture de la souris + scrolling.
                if (m_captureMouse)
                {
                    UpdateMouseScrolling();
                }


                // Mise à jour du contrôleur de la map.
                MapEditControler.IsEnabled = EditMode;
                MapEditControler.Update(time);


                // Gui manager
                EnhancedGuiManager.Update(time);

                if (GameWindow.HasFocus())
                {
                    GameWindow.IsHiden = true;
                    if (!IsInSpectateMode)
                    {
                        UpdateGameInput();
                    }
                }
                else
                {
                    GameWindow.IsHiden = false;
                }


                var ms = Input.GetMouseState();
                __oldScroll = ms.ScrollWheelValue;
            }
            else if (GameServer.GetScene().Mode == SceneMode.Pick)
            {
                GameWindow.IsVisible = false;
                m_pickPhaseControler.Update(time);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Mets à jour l'état de ce contrôleur, et lui permet d'envoyer des commandes au héros.
        /// </summary>
        /// <param name="time"></param>
        public override void Update(GameTime time)
        {
            if (m_client.Snapshot.SceneMode == Views.SceneMode.Game)
            {
                GameWindow.IsVisible = true;
                GameWindow.Area      = MapRdr.Viewport;

                // Toogle de la capture de la souris.
                if (Input.IsTrigger(Microsoft.Xna.Framework.Input.Keys.RightControl))
                {
                    m_captureMouse = !m_captureMouse;
                }


                // Capture de la souris + scrolling.
                if (m_captureMouse)
                {
                    UpdateMouseScrolling();
                }


                // Gui manager
                EnhancedGuiManager.Update(time);

                if (GameWindow.HasFocus())
                {
                    GameWindow.IsHiden = true;
                    UpdateGameInput();
                }
                else
                {
                    GameWindow.IsHiden = false;
                }


                var ms = Input.GetMouseState();
                __oldScroll = ms.ScrollWheelValue;
            }
            else if (m_client.Snapshot.SceneMode == Views.SceneMode.Pick)
            {
                GameWindow.IsVisible = false;
                m_pickPhaseControler.Update(time);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Dessine les éléments graphiques du contrôleur à l'écran.
        /// </summary>
        public override void Draw(SpriteBatch batch, GameTime time)
        {
            RenderTarget2D mainRenderTarget = MapRdr.SceneRenderer.MainRenderTarget;

            if (GameServer.GetScene().Mode == SceneMode.Game)
            {
                // Dessine les GUI, particules etc...
                batch.GraphicsDevice.SetRenderTarget(mainRenderTarget);
                batch.Begin(SpriteSortMode.BackToFront, BlendState.NonPremultiplied, SamplerState.PointClamp, DepthStencilState.Default, RasterizerState.CullNone);
                EnhancedGuiManager.Draw(batch);
                DrawControlerGUI(batch, time);
                batch.End();
            }
            else
            {
                // PICKS
                var ms = Input.GetMouseState();
                batch.Begin();
                batch.Draw(Ressources.Cursor, new Rectangle((int)ms.X, (int)ms.Y, 32, 32), null, Color.White, 0.0f, Vector2.Zero, SpriteEffects.None, ZLayer.Front);
                batch.End();
            }
        }