44 lines
845 B
Plaintext
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();
|
|
}
|
|
|
|
}
|