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