/// <summary> /// Updates the targeting. /// </summary> /// <param name="gui">THe <see cref="IGUIManager"/>.</param> public void Update(IGUIManager gui) { var cursorPos = gui.CursorPosition; MouseOverTarget = _world.Map.Spatial.Get <IDrawableTarget>(_world.Camera.ToWorld(cursorPos)); if (gui.IsMouseButtonDown(MouseButton.Left)) { if (MouseOverTarget != null) { Target = MouseOverTarget == _world.UserChar ? null : MouseOverTarget; } else { Target = null; } } if (MouseOverTarget != null && MouseOverTarget.IsDisposed) { MouseOverTarget = null; } if (Target != null && Target.IsDisposed) { Target = null; } }
/// <summary> /// Handles the map change event for targeting. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="ValueChangedEventArgs{Map}"/> instance containing the event data.</param> void World_MapChanged(World sender, ValueChangedEventArgs<Map> e) { MouseOverTarget = null; _target = null; }
/// <summary> /// Updates the targeting. /// </summary> /// <param name="gui">THe <see cref="IGUIManager"/>.</param> public void Update(IGUIManager gui) { var cursorPos = gui.CursorPosition; MouseOverTarget = _world.Map.Spatial.Get<IDrawableTarget>(_world.Camera.ToWorld(cursorPos)); if (gui.IsMouseButtonDown(MouseButton.Left)) { if (MouseOverTarget != null) { Target = MouseOverTarget == _world.UserChar ? null : MouseOverTarget; } else { Target = null; } } if (MouseOverTarget != null && MouseOverTarget.IsDisposed) MouseOverTarget = null; if (Target != null && Target.IsDisposed) Target = null; }
/// <summary> /// Handles the map change event for targeting. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="ValueChangedEventArgs{Map}"/> instance containing the event data.</param> void World_MapChanged(World sender, ValueChangedEventArgs <Map> e) { MouseOverTarget = null; _target = null; }