sasalka/Code/Inventory/Ui/Inventory.razor
2025-06-10 02:09:21 +03:00

44 lines
845 B
Plaintext

@using Sasalka
@inherits PanelComponent
@namespace Sasalka.Ui
<root class="@( Inventar.IsInventoryOpen ? "" : "hidden" )">
<div class="inventory-panel">
@foreach ( var item in PlayerInventory.Items )
{
<Sasalka.Ui.InventoryItem Item="@item" OnItemClick="@( UseItem )"/>
}
</div>
</root>
@code {
Dedugan Player => Dedugan.Local;
Inventar PlayerInventory => Player?.Inventory;
void UseItem( Sasalka.InventoryItem item )
{
Player?.Inventory?.EquipItem( item );
}
protected override void OnUpdate()
{
if ( Input.Pressed( "Score" ) )
{
Inventar.IsInventoryOpen = !Inventar.IsInventoryOpen;
}
}
protected override int BuildHash()
{
if ( !Inventar.IsInventoryOpen || PlayerInventory == null )
return -1;
var hash = new HashCode();
hash.Add( Inventar.IsInventoryOpen );
return hash.ToHashCode();
}
}