2021-03-15 06:24:55 +00:00
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
namespace HUD_Manager.Structs {
|
2021-03-13 21:10:23 +00:00
|
|
|
|
public enum MeasuredFrom : byte {
|
|
|
|
|
TopLeft = 0,
|
2021-03-13 21:48:51 +00:00
|
|
|
|
TopMiddle = 1,
|
2021-03-13 21:10:23 +00:00
|
|
|
|
TopRight = 2,
|
|
|
|
|
MiddleLeft = 3,
|
|
|
|
|
Middle = 4,
|
|
|
|
|
MiddleRight = 5,
|
|
|
|
|
BottomLeft = 6,
|
|
|
|
|
BottomMiddle = 7,
|
|
|
|
|
BottomRight = 8,
|
|
|
|
|
}
|
2021-03-15 06:24:55 +00:00
|
|
|
|
|
|
|
|
|
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,
|
|
|
|
|
}
|
2021-03-13 21:10:23 +00:00
|
|
|
|
}
|