@namespace MurderGame @using System @using Sandbox @inherits Sandbox.UI.Panel @if (ReloadNeeded) { } @code { public bool ReloadNeeded { get; set; } public bool Blink { get; set; } protected override int BuildHash() { var clientPawn = Game.LocalPawn; if (clientPawn is Player {Camera: not null } player) { var inventory = player.Camera.GetObservedInventory(); if (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(); } }