/// <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);
            }
        }
 /// <summary>
 /// Dessine les éléments de GUI du contrôleur.
 /// </summary>
 /// <param name="batch"></param>
 /// <param name="time"></param>
 void DrawControlerGUI(SpriteBatch batch, GameTime time)
 {
     MapEditControler.Draw(batch);
     if (m_hero != null)
     {
         DrawSpellIcons(batch, time);
         DrawConsummableSlots(batch, time);
         DrawEquipmentSlots(batch, time);
     }
 }
        /// <summary>
        /// Charges les ressources (graphiques et autres) dont a besoin de contrôleur.
        /// </summary>
        public override void LoadContent()
        {
            GameWindow            = new EnhancedGui.GuiWindow(EnhancedGuiManager);
            GameWindow.IsHiden    = true;
            GameWindow.BackColor  = new Color(0, 0, 0, 50);
            GameWindow.Layer      = -1;
            GameWindow.IsMoveable = false;


            MapEditControler.LoadContent();
            MapEditControler.OnMapLoaded += new MapEditorControler.MapLoadedDelegate((MapFile file) =>
            {
                GameServer.GetScene().Map.Load(file);
            });
        }