Fix final remaining issues with inventory

This commit is contained in:
2024-09-12 10:28:34 -07:00
parent af384d3ddb
commit 043d7f1ba8
7 changed files with 59 additions and 28 deletions

View File

@@ -88,20 +88,20 @@ public partial class InventoryMenu : Control, IInventoryMenu
private void EquippedAccessory_Sync(Accessory obj)
{
ATKBonusLabel.Text = GameRepo.PlayerData.BonusAttack != 0 ? $"{GameRepo.PlayerData.BonusAttack:+0;-#}" : "...";
DEFBonusLabel.Text = GameRepo.PlayerData.BonusDefense != 0 ? $"{GameRepo.PlayerData.BonusDefense:+0;-#}" : "...";
ATKBonusLabel.Text = $"{GameRepo.PlayerData.BonusAttack:+0;-#;\\.\\.\\.}";
DEFBonusLabel.Text = $"{GameRepo.PlayerData.BonusDefense:+0;-#;\\.\\.\\.}";
}
private void EquippedArmor_Sync(Armor obj)
{
ATKBonusLabel.Text = GameRepo.PlayerData.BonusAttack != 0 ? $"{GameRepo.PlayerData.BonusAttack:+0;-#}" : "...";
DEFBonusLabel.Text = GameRepo.PlayerData.BonusDefense != 0 ? $"{GameRepo.PlayerData.BonusDefense:+0;-#}" : "...";
ATKBonusLabel.Text = $"{GameRepo.PlayerData.BonusAttack:+0;-#;\\.\\.\\.}";
DEFBonusLabel.Text = $"{GameRepo.PlayerData.BonusDefense:+0;-#;\\.\\.\\.}";
}
private void EquippedWeapon_Sync(Weapon obj)
{
ATKBonusLabel.Text = GameRepo.PlayerData.BonusAttack != 0 ? $"{GameRepo.PlayerData.BonusAttack:+0;-#}" : "...";
DEFBonusLabel.Text = GameRepo.PlayerData.BonusDefense != 0 ? $"{GameRepo.PlayerData.BonusDefense:+0;-#}" : "...";
ATKBonusLabel.Text = $"{GameRepo.PlayerData.BonusAttack:+0;-#;\\.\\.\\.}";
DEFBonusLabel.Text = $"{GameRepo.PlayerData.BonusDefense:+0;-#;\\.\\.\\.}";
}
private void CurrentLevel_Sync(int obj) => CurrentLevelLabel.Text = $"Level {obj:D2}";
@@ -298,8 +298,6 @@ public partial class InventoryMenu : Control, IInventoryMenu
{
await ToSignal(GetTree().CreateTimer(0.1f), "timeout");
itemSlot.SetSelectedItemStyle();
if (itemSlot.Item is IEquipable newEquipable && GameRepo.PlayerData.Inventory.IsEquipped(newEquipable))
itemSlot.SetEquippedSelectedItemStyle();
ItemDescriptionTitle.Text = $"{itemSlot.Item.Info.Name}";
ItemEffectLabel.Text = $"{itemSlot.Item.Info.Description}";
}

View File

@@ -49,18 +49,36 @@ public partial class ItemSlot : HBoxContainer, IItemSlot
private void EquippedWeapon_Sync(Weapon obj)
{
if (Item is Weapon weapon && weapon == obj)
{
EquipBonus.Text = $"{obj.WeaponStats.Damage:+0;-#;\\.\\.\\.}";
SetEquippedSelectedItemStyle();
}
if (Item is Weapon unequippedItem && unequippedItem != obj)
{
EquipBonus.Text = $"...";
SetItemStyle();
}
}
private void EquippedArmor_Sync(Armor obj)
{
if (Item is Armor armor && armor == obj)
{
EquipBonus.Text = $"{obj.ArmorStats.Defense:+0;-#;\\.\\.\\.}";
SetEquippedSelectedItemStyle();
}
if (Item is Armor unequippedItem && unequippedItem != obj)
{
EquipBonus.Text = $"...";
SetItemStyle();
}
}
private void EquippedAccessory_Sync(Accessory obj)
{
if (Item is Accessory accessory && accessory == obj)
SetEquippedSelectedItemStyle();
if (Item is Accessory unequippedItem && unequippedItem != obj)
SetItemStyle();
}
@@ -72,8 +90,16 @@ public partial class ItemSlot : HBoxContainer, IItemSlot
}
public void SetSelectedItemStyle()
{
ItemName.LabelSettings = SelectedItemFont;
EquipBonus.LabelSettings = SelectedItemFont;
if (Item is IEquipable equipableItem && GameRepo.PlayerData.Inventory.IsEquipped(equipableItem))
{
ItemName.LabelSettings = SelectedEquippedItemFont;
EquipBonus.LabelSettings = EquippedItemFont;
}
else
{
ItemName.LabelSettings = SelectedItemFont;
EquipBonus.LabelSettings = SelectedItemFont;
}
}
public void SetEquippedItemStyle()
{
@@ -84,7 +110,7 @@ public partial class ItemSlot : HBoxContainer, IItemSlot
public void SetEquippedSelectedItemStyle()
{
ItemName.LabelSettings = SelectedEquippedItemFont;
EquipBonus.LabelSettings = SelectedEquippedItemFont;
EquipBonus.LabelSettings = EquippedItemFont;
}
public IInventoryItem Item { get; set; } = default!;