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