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