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";
 | |
|     }
 | |
| }
 |