HUDManager/HUD Manager/Structs/MeasuredFrom.cs

45 lines
1.5 KiB
C#
Executable File

using System;
namespace HUD_Manager.Structs {
public enum MeasuredFrom : byte {
TopLeft = 0,
TopMiddle = 1,
TopRight = 2,
MiddleLeft = 3,
Middle = 4,
MiddleRight = 5,
BottomLeft = 6,
BottomMiddle = 7,
BottomRight = 8,
}
public static class MeasureFromExt {
public static Tuple<MeasuredX, MeasuredY> ToParts(this MeasuredFrom measured) {
return measured switch {
MeasuredFrom.TopLeft => Tuple.Create(MeasuredX.Left, MeasuredY.Top),
MeasuredFrom.TopMiddle => Tuple.Create(MeasuredX.Middle, MeasuredY.Top),
MeasuredFrom.TopRight => Tuple.Create(MeasuredX.Right, MeasuredY.Top),
MeasuredFrom.MiddleLeft => Tuple.Create(MeasuredX.Left, MeasuredY.Middle),
MeasuredFrom.Middle => Tuple.Create(MeasuredX.Middle, MeasuredY.Middle),
MeasuredFrom.MiddleRight => Tuple.Create(MeasuredX.Right, MeasuredY.Middle),
MeasuredFrom.BottomLeft => Tuple.Create(MeasuredX.Left, MeasuredY.Bottom),
MeasuredFrom.BottomMiddle => Tuple.Create(MeasuredX.Middle, MeasuredY.Bottom),
MeasuredFrom.BottomRight => Tuple.Create(MeasuredX.Right, MeasuredY.Bottom),
_ => throw new ArgumentOutOfRangeException(nameof(measured), measured, null),
};
}
}
public enum MeasuredX {
Left,
Middle,
Right,
}
public enum MeasuredY {
Top,
Middle,
Bottom,
}
}