generated from krampus/template-godot4
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using Godot;
 | 
						|
 | 
						|
namespace PhantomCamera;
 | 
						|
 | 
						|
public enum TransitionType
 | 
						|
{
 | 
						|
    Linear,
 | 
						|
    Sine,
 | 
						|
    Quint,
 | 
						|
    Quart,
 | 
						|
    Quad,
 | 
						|
    Expo,
 | 
						|
    Elastic,
 | 
						|
    Cubic,
 | 
						|
    Circ,
 | 
						|
    Bounce,
 | 
						|
    Back
 | 
						|
}
 | 
						|
 | 
						|
public enum EaseType
 | 
						|
{
 | 
						|
    EaseIn,
 | 
						|
    EaseOut,
 | 
						|
    EaseInOut,
 | 
						|
    EaseOutIn
 | 
						|
}
 | 
						|
 | 
						|
public static class PhantomCameraTweenExtensions
 | 
						|
{
 | 
						|
    public static PhantomCameraTween AsPhantomCameraTween(this Resource resource)
 | 
						|
    {
 | 
						|
        return new PhantomCameraTween(resource);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
public class PhantomCameraTween(Resource tweenResource)
 | 
						|
{
 | 
						|
    public Resource Resource { get; } = tweenResource;
 | 
						|
 | 
						|
    public float Duration
 | 
						|
    {
 | 
						|
        get => (float)Resource.Get(PropertyName.Duration);
 | 
						|
        set => Resource.Set(PropertyName.Duration, value);
 | 
						|
    }
 | 
						|
 | 
						|
    public TransitionType Transition
 | 
						|
    {
 | 
						|
        get => (TransitionType)(int)Resource.Get(PropertyName.Transition);
 | 
						|
        set => Resource.Set(PropertyName.Transition, (int)value);
 | 
						|
    }
 | 
						|
 | 
						|
    public EaseType Ease
 | 
						|
    {
 | 
						|
        get => (EaseType)(int)Resource.Get(PropertyName.Ease);
 | 
						|
        set => Resource.Set(PropertyName.Ease, (int)value);
 | 
						|
    }
 | 
						|
 | 
						|
    public static class PropertyName
 | 
						|
    {
 | 
						|
        public const string Duration = "duration";
 | 
						|
        public const string Transition = "transition";
 | 
						|
        public const string Ease = "ease";
 | 
						|
    }
 | 
						|
}
 |