UI/Player/Crosshair.razor
@using Sandbox
@using Sandbox.UI

@namespace Opium
@inherits PanelComponent

<root>
    <div class="crosshair" />
</root>

@code
{
    /// <summary>
    /// The player
    /// </summary>
    public Opium.PlayerController Player => Components.Get<Opium.PlayerController>(FindMode.EverythingInSelfAndParent);

    public BaseWeapon Weapon => Player.Inventory.Current;

    protected override void OnUpdate()
    {
        SetClass( "visible", Weapon is RangedWeapon range && range.IsAiming || GameSettingsSystem.Current.Crosshair );
    }

    protected override int BuildHash()
    {
        return HashCode.Combine( Time.Delta );
    }
}