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