using System;
namespace Syntriax.Engine.Core.Abstract;
///
/// Represents the transformation properties of an object such as position, scale, and rotation.
///
public interface ITransform
{
///
/// Event triggered when the of the changes.
///
Action? OnPositionChanged { get; set; }
///
/// Event triggered when the of the changes.
///
Action? OnScaleChanged { get; set; }
///
/// Event triggered when the of the changes.
///
Action? OnRotationChanged { get; set; }
///
/// The position of the in 2D space.
///
Vector2D Position { get; set; }
///
/// The scale of the .
///
Vector2D Scale { get; set; }
///
/// The rotation of the in degrees.
///
float Rotation { get; set; }
}