From 4ae38adb208c435ff6a021cdd0517768c5314fe6 Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Sun, 30 Jul 2023 19:12:09 +0100 Subject: Add observed health and team colours to spectator mode --- code/ui/PlayerInfo.razor | 9 +++++---- code/ui/health/Health.razor | 6 +++--- code/ui/team/TeamInfo.razor | 6 +++--- code/ui/weapon/Reload.razor | 8 ++++---- 4 files changed, 15 insertions(+), 14 deletions(-) (limited to 'code/ui') diff --git a/code/ui/PlayerInfo.razor b/code/ui/PlayerInfo.razor index 2acdef0..fed61c0 100644 --- a/code/ui/PlayerInfo.razor +++ b/code/ui/PlayerInfo.razor @@ -26,12 +26,13 @@ playerinfo { { public string GetTeamColour() { - var ClientPawn = Game.LocalPawn; - if (ClientPawn is Player) + var clientPawn = Game.LocalPawn; + if (clientPawn is Player {Camera: not null } player) { - return TeamOperations.GetTeamColour(((Player)ClientPawn).CurrentTeam); + var colour = TeamOperations.GetTeamColour(player.Camera.GetObservedTeam()); + return string.IsNullOrWhiteSpace(colour) ? "white" : colour; } - return ""; + return "white"; } protected override int BuildHash() diff --git a/code/ui/health/Health.razor b/code/ui/health/Health.razor index 8961f63..9600c8b 100644 --- a/code/ui/health/Health.razor +++ b/code/ui/health/Health.razor @@ -30,10 +30,10 @@ Health { public int GetHealth() { - var ClientPawn = Game.LocalPawn; - if (ClientPawn is Player) + var clientPawn = Game.LocalPawn; + if (clientPawn is Player {Camera: not null } player) { - return ClientPawn.Health.CeilToInt(); + return player.Camera.GetObservedHealth().CeilToInt(); } return 0; } diff --git a/code/ui/team/TeamInfo.razor b/code/ui/team/TeamInfo.razor index 883dcf0..4451810 100644 --- a/code/ui/team/TeamInfo.razor +++ b/code/ui/team/TeamInfo.razor @@ -22,10 +22,10 @@ public string GetTeamName() { - var ClientPawn = Game.LocalPawn; - if (ClientPawn is Player) + var clientPawn = Game.LocalPawn; + if (clientPawn is Player {Camera: not null } player) { - return TeamOperations.GetTeamName(((Player)ClientPawn).CurrentTeam); + return TeamOperations.GetTeamName(player.Camera.GetObservedTeam()); } return ""; } diff --git a/code/ui/weapon/Reload.razor b/code/ui/weapon/Reload.razor index d325ade..190a84c 100644 --- a/code/ui/weapon/Reload.razor +++ b/code/ui/weapon/Reload.razor @@ -60,11 +60,11 @@ reload { protected override int BuildHash() { - var localPawn = Game.LocalPawn; - if (localPawn is Player player) + var clientPawn = Game.LocalPawn; + if (clientPawn is Player {Camera: not null } player) { - var inventory = player.Inventory; - if (inventory != null && inventory.GetCurrentWeapon() != null) + var inventory = player.Camera.GetObservedInventory(); + if (inventory?.GetCurrentWeapon() != null) { var weapon = inventory.GetCurrentWeapon(); var ammo = weapon.Ammo; -- cgit v1.2.3-70-g09d2