using System;
using Chernobyl.Event;
using Chernobyl.Mathematics.Movement;
using Chernobyl.Mathematics.Vectors;
namespace Chernobyl.Mathematics.Mechanics
{
///
/// A mechanism that can be moved in positive or negative direction on 2
/// dimensions (X and Y).
///
public interface IAxis2D : ITransform
{
///
/// The X axis of the 2 dimensions of this mechanism.
///
IAxis X { get; }
///
/// The Y axis of the 2 dimensions of this mechanism.
///
IAxis Y { get; }
///
/// The (X, Y) position of the mechanism.
///
Vector2 Xy { get; }
///
/// Invoked when this control moves in either the X, Y, or both
/// directions.
///
event EventHandler> OnMove;
}
}