SbTween/Extensions/CameraExtensions.cs
using Sandbox;
namespace SbTween;
public static class CameraExtensions
{
public static BaseTween TweenFieldOfView( this CameraComponent self, float to, float duration )
{
float from = self.FieldOfView;
var tween = new BaseTween( duration );
tween.Target = self.GameObject;
return TweenManager.Instance.AddTween( tween
.OnUpdate( p =>
{
if ( !self.IsValid() ) return;
self.FieldOfView = from.LerpTo( to, p );
} )
);
}
public static BaseTween TweenZNear( this CameraComponent self, float to, float duration )
{
float from = self.ZNear;
var tween = new BaseTween( duration );
tween.Target = self.GameObject;
return TweenManager.Instance.AddTween( tween
.OnUpdate( p =>
{
if ( !self.IsValid() ) return;
self.ZNear = from.LerpTo( to, p );
} )
);
}
public static BaseTween TweenZFar( this CameraComponent self, float to, float duration )
{
float from = self.ZFar;
var tween = new BaseTween( duration );
tween.Target = self.GameObject;
return TweenManager.Instance.AddTween( tween
.OnUpdate( p =>
{
if ( !self.IsValid() ) return;
self.ZFar = from.LerpTo( to, p );
} )
);
}
public static BaseTween TweenBackgroundColor( this CameraComponent self, Color to, float duration )
{
Color from = self.BackgroundColor;
var tween = new BaseTween( duration );
tween.Target = self.GameObject;
return TweenManager.Instance.AddTween( tween
.OnUpdate( p =>
{
if ( !self.IsValid() ) return;
self.BackgroundColor = Color.Lerp( from, to, p );
} )
);
}
public static BaseTween TweenOrthoHeight( this CameraComponent self, float to, float duration )
{
float from = self.OrthographicHeight;
var tween = new BaseTween( duration );
tween.Target = self.GameObject;
return TweenManager.Instance.AddTween( tween
.OnUpdate( p =>
{
if ( !self.IsValid() ) return;
self.OrthographicHeight = from.LerpTo( to, p );
} )
);
}
}