Fix really annoying bug on focus modes. i forgot what else i did but probably added armor
This commit is contained in:
@@ -54,7 +54,6 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
ActionPanel.ReturnToGameAction += ActionPanel_ReturnToGameAction;
|
||||
ActionPanel.AugmentMenuRequested += ActionPanel_AugmentMenuRequested;
|
||||
AugmentMenu.AugmentMenuClosing += AugmentMenu_AugmentMenuClosing;
|
||||
AugmentMenu.FocusMode = FocusModeEnum.None;
|
||||
_player.EquipmentComponent.EquipmentChanged += EquipmentChanged;
|
||||
_player.AttackComponent.CurrentAttack.Changed += AttackChanged;
|
||||
_player.AttackComponent.MaximumAttack.Changed += AttackChanged;
|
||||
@@ -79,9 +78,11 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
|
||||
public override void _Input(InputEvent @event)
|
||||
{
|
||||
if (Input.IsActionJustPressed(GameInputs.MoveUp) && _currentlySelected != ItemSlots.First())
|
||||
var validSelectableItems = _player.Inventory.Items.Except(_player.Inventory.Items.OfType<IEquipableItem>().Where(x => x.Glued)).ToList();
|
||||
|
||||
if (Input.IsActionJustPressed(GameInputs.MoveUp) && _currentlySelected.Item.Value != validSelectableItems.First())
|
||||
SfxDatabase.Instance.Play(SoundEffect.MoveUI);
|
||||
if (Input.IsActionJustPressed(GameInputs.MoveDown) && _currentlySelected != ItemSlots.Last(x => x.Item.Value != null))
|
||||
if (Input.IsActionJustPressed(GameInputs.MoveDown) && _currentlySelected.Item.Value != validSelectableItems.Last())
|
||||
SfxDatabase.Instance.Play(SoundEffect.MoveUI);
|
||||
if (Input.IsActionJustPressed(GameInputs.Interact))
|
||||
SfxDatabase.Instance.Play(SoundEffect.CancelUI);
|
||||
@@ -93,8 +94,6 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
ItemSlots.ForEach(x => x.ItemPressed -= ItemPressed);
|
||||
ItemSlots.ForEach(x => x.ItemSelected -= ItemSelected);
|
||||
MenuPanel.Hide();
|
||||
MenuPanel.FocusMode = FocusModeEnum.None;
|
||||
AugmentMenu.FocusMode = FocusModeEnum.All;
|
||||
SetProcessInput(false);
|
||||
AugmentMenu.SetProcessInput(true);
|
||||
AugmentMenu.OpenAugmentMenu(_currentlySelected.Item.Value as IAugmentItem);
|
||||
@@ -136,9 +135,7 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
_currentlySelected = null;
|
||||
|
||||
if (_currentlySelected == null && validSelectableItems.Count > 0)
|
||||
{
|
||||
_currentlySelected = ItemSlots.FirstOrDefault(x => x.Item.Value == validSelectableItems.First());
|
||||
}
|
||||
|
||||
if (validSelectableItems.Count > 0)
|
||||
_currentlySelected.FocusItem();
|
||||
@@ -167,8 +164,6 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
ItemSlots.ForEach(x => x.ItemPressed += ItemPressed);
|
||||
ItemSlots.ForEach(x => x.ItemSelected += ItemSelected);
|
||||
MenuPanel.Show();
|
||||
MenuPanel.FocusMode = FocusModeEnum.All;
|
||||
AugmentMenu.FocusMode = FocusModeEnum.None;
|
||||
SetProcessInput(true);
|
||||
AugmentMenu.SetProcessInput(false);
|
||||
AugmentMenu.Hide();
|
||||
|
||||
Reference in New Issue
Block a user