diff options
| author | Leonardo Bishop <me@leonardobishop.com> | 2023-07-30 19:12:09 +0100 |
|---|---|---|
| committer | Leonardo Bishop <me@leonardobishop.com> | 2023-07-30 19:12:09 +0100 |
| commit | 4ae38adb208c435ff6a021cdd0517768c5314fe6 (patch) | |
| tree | 18ccbffd5fd3d385983ba41f3cd0031586995733 /code/pawn | |
| parent | 970e3de202b1482ae72b85487414d9b933818774 (diff) | |
Add observed health and team colours to spectator mode
Diffstat (limited to 'code/pawn')
| -rw-r--r-- | code/pawn/component/camera/BaseCameraComponent.cs | 15 | ||||
| -rw-r--r-- | code/pawn/component/camera/PlayerCameraComponent.cs | 15 | ||||
| -rw-r--r-- | code/pawn/component/camera/SpectatorCameraComponent.cs | 15 |
3 files changed, 45 insertions, 0 deletions
diff --git a/code/pawn/component/camera/BaseCameraComponent.cs b/code/pawn/component/camera/BaseCameraComponent.cs index be310c8..029586a 100644 --- a/code/pawn/component/camera/BaseCameraComponent.cs +++ b/code/pawn/component/camera/BaseCameraComponent.cs @@ -17,4 +17,19 @@ public class BaseCameraComponent : EntityComponent<Player>, ISingletonComponent {
}
+
+ public virtual InventoryComponent GetObservedInventory()
+ {
+ return null;
+ }
+
+ public virtual float GetObservedHealth()
+ {
+ return 0;
+ }
+
+ public virtual Team GetObservedTeam()
+ {
+ return Team.Spectator;
+ }
}
diff --git a/code/pawn/component/camera/PlayerCameraComponent.cs b/code/pawn/component/camera/PlayerCameraComponent.cs index 5011c67..702f0c8 100644 --- a/code/pawn/component/camera/PlayerCameraComponent.cs +++ b/code/pawn/component/camera/PlayerCameraComponent.cs @@ -45,4 +45,19 @@ public class PlayerCameraComponent : BaseCameraComponent pl.ViewAngles = viewAngles.WithPitch( viewAngles.pitch.Clamp( -89f, 89f ) );
return;
}
+
+ public override InventoryComponent GetObservedInventory()
+ {
+ return Entity.Inventory;
+ }
+
+ public override float GetObservedHealth()
+ {
+ return Entity.Health;
+ }
+
+ public override Team GetObservedTeam()
+ {
+ return Entity.CurrentTeam;
+ }
}
diff --git a/code/pawn/component/camera/SpectatorCameraComponent.cs b/code/pawn/component/camera/SpectatorCameraComponent.cs index f81e186..bba92f6 100644 --- a/code/pawn/component/camera/SpectatorCameraComponent.cs +++ b/code/pawn/component/camera/SpectatorCameraComponent.cs @@ -38,4 +38,19 @@ public class SpectatorCameraComponent : BaseCameraComponent {
return Game.Clients.Where(c => c.Pawn is Player player && player.CurrentTeam != Team.Spectator && player.LifeState == LifeState.Alive).ToList();
}
+
+ public override InventoryComponent GetObservedInventory()
+ {
+ return Target?.Inventory;
+ }
+
+ public override float GetObservedHealth()
+ {
+ return Target?.Health ?? Entity.Health;
+ }
+
+ public override Team GetObservedTeam()
+ {
+ return Target?.CurrentTeam ?? Entity.CurrentTeam;
+ }
}
|
