UI/Inventory/ItemView.razor
@using Sandbox;
@using Sandbox.UI;
@namespace CryptidHunt

<root>
    @if ( Item.IsValid() )
    {
        <div class="titleContainer">
            <div class="titleText">
                <div class="title">@Item?.Title</div>
            </div>
            <div class="descriptionText">
                <div class="description">@Item?.Description</div>
            </div>
        </div>

        <div class="view">
            <ModelPreview ModelPath=@Item?.Model.Model.ResourcePath></ModelPreview>
        </div>

        @if ( Item?.Useable ?? false)
        {
            <div class="buttonContainer">
                <div class="button" @onclick=@(() => Item.Use( Player.Instance ))>
                    <div class="test">@Item.UseDescription</div>
                </div>
            </div>
        }
    }
</root>

@code
{
    public Item Item => Inventory.Instance?.SelectedItem;
    public ScenePanel SceneView { get; set; }

    public override void Tick()
    {
        if (SceneView == null)
        {
            //SceneView = new ScenePanel("scenes/world.scene");
            //AddChild(SceneView);
            //SceneView.SetClass("view", true);
        }
    }

    protected override int BuildHash() => System.HashCode.Combine( Time.Now );
}