public virtual void GiveFocus(IInteractiveMenuComponent component) { if (component == this.FocusElement) { return; } ResetFocus(); this.FocusElement = component; if (this.FocusElement is IKeyboardComponent keyboardComponent) { Game1.keyboardDispatcher.Subscriber = new KeyboardSubscriberProxy(keyboardComponent); } if (!this._InteractiveComponents.Contains(component)) { this.FloatingComponent = component; component.Attach(this); } component.FocusGained(); }