31 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
namespace Engine.Core;
 | 
						|
 | 
						|
public static class TransformExtensions
 | 
						|
{
 | 
						|
    public static ITransform2D SetTransform(this ITransform2D transform,
 | 
						|
        Vector2D? position = null, float? rotation = null, Vector2D? scale = null,
 | 
						|
        Vector2D? localPosition = null, float? localRotation = null, Vector2D? localScale = null)
 | 
						|
    {
 | 
						|
        if (position.HasValue) transform.Position = position.Value;
 | 
						|
        if (rotation.HasValue) transform.Rotation = rotation.Value;
 | 
						|
        if (scale.HasValue) transform.Scale = scale.Value;
 | 
						|
        if (localPosition.HasValue) transform.LocalPosition = localPosition.Value;
 | 
						|
        if (localRotation.HasValue) transform.LocalRotation = localRotation.Value;
 | 
						|
        if (localScale.HasValue) transform.LocalScale = localScale.Value;
 | 
						|
        return transform;
 | 
						|
    }
 | 
						|
 | 
						|
    public static ITransform3D SetTransform(this ITransform3D transform,
 | 
						|
        Vector3D? position = null, Quaternion? rotation = null, Vector3D? scale = null,
 | 
						|
        Vector3D? localPosition = null, Quaternion? localRotation = null, Vector3D? localScale = null)
 | 
						|
    {
 | 
						|
        if (position.HasValue) transform.Position = position.Value;
 | 
						|
        if (rotation.HasValue) transform.Rotation = rotation.Value;
 | 
						|
        if (scale.HasValue) transform.Scale = scale.Value;
 | 
						|
        if (localPosition.HasValue) transform.LocalPosition = localPosition.Value;
 | 
						|
        if (localRotation.HasValue) transform.LocalRotation = localRotation.Value;
 | 
						|
        if (localScale.HasValue) transform.LocalScale = localScale.Value;
 | 
						|
        return transform;
 | 
						|
    }
 | 
						|
}
 |