Cameras.cs
using Sandbox.Entities;

namespace CatHarvest;

public class EndingCam : Component
{
	[Property] public CameraComponent Camera;
	public TimeSince tsCreated;
	public bool IsPeacefulEnding = false;
	public bool IsBalancedEnding = false;
	protected override void OnFixedUpdate()
	{
		base.OnFixedUpdate();
		if (IsPeacefulEnding)
			PeacefulEndingCamera();
		if ( IsBalancedEnding )
			BalancedEndingCamera();
	}
	private void BalancedEndingCamera()
	{
		var ply = Scene.GetComponentInChildren<ShrimpleWalker>()?.GameObject?.Root;
		if ( ply.IsValid() )
			ply.Destroy();

		Camera.Enabled = true;
		Camera.WorldRotation = Rotation.FromPitch( 80f );
		
		Camera.WorldPosition =  new Vector3( -300f + tsCreated * 50f, 0f, 300f + tsCreated * 50f );
	}

	private void PeacefulEndingCamera()
	{
		var ply = Scene.GetComponentInChildren<ShrimpleWalker>()?.GameObject?.Root;
		if ( ply.IsValid() )
			ply.Destroy(); 
		
		Camera.Enabled = true;	
		Camera.WorldRotation = Rotation.From( new Angles( 20f, 90f, 0f ) );

		Camera.WorldPosition = new Vector3( 0f, -200f + tsCreated * 30f, 100f + tsCreated * 10f );
	}
}