@using Sandbox;
@using Sandbox.UI;
@using System;
@namespace MurderGame
@inherits Panel
@if (ReloadNeeded) {
}
@code
{
public bool ReloadNeeded { get; set; }
public bool Blink { get; set; }
protected override int BuildHash()
{
var localPawn = Game.LocalPawn;
if (localPawn is Player player)
{
var inventory = player.Inventory;
if (inventory != null && inventory.GetCurrentWeapon() != null)
{
var weapon = inventory.GetCurrentWeapon();
var ammo = weapon.Ammo;
ReloadNeeded = ammo == 0 && !weapon.Reloading;
Blink = !weapon.Reloading;
return HashCode.Combine(ReloadNeeded.GetHashCode(), Blink.GetHashCode());
}
}
if (ReloadNeeded)
{
ReloadNeeded = false;
}
return ReloadNeeded.GetHashCode();
}
}