diff options
Diffstat (limited to 'code/pawn/component')
| -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;
+ }
}
|
