Files
Giants/Src/Giants.Core/Src/Enums/PiecePosition.cs
mcmuzzle c95b29c3d2
Some checks failed
check main state / build (9.0.x) (push) Has been cancelled
Mise en place des MatchCommand
Ajout des données dynamiques au match
2025-04-02 23:14:59 +02:00

98 lines
1.5 KiB
C#

using System.Xml.XPath;
namespace Giants.Core.Enums;
/// <summary>
/// Position que peut prendre une piece dans le jeu
/// </summary>
public enum PiecePosition
{
boite,
player1Visible,
player2Visible,
player3Visible,
player4Visible,
player5Visible,
player1Hidden,
player2Hidden,
player3Hidden,
player4Hidden,
player5Hidden,
Carry,
Urne,
tile22,
tile39,
tile38,
tile37,
tile36,
tile54,
tile53,
tile52,
tile51,
tile50,
tile49,
tile70,
tile69,
tile68,
tile67,
tile66,
tile65,
tile64,
tile84,
tile83,
tile82,
tile81,
tile80,
tile79,
tile100,
tile99,
tile98,
tile97,
tile96,
tile95,
tile115,
tile114,
tile113,
tile112,
tile111,
tile130,
tile129,
tile128,
tile127,
tile145,
tile144,
tile143,
tile161,
tile160,
tile159,
tile177,
tile176,
tile175,
tile192,
tile191,
tile208,
tile207,
tile206,
tile223,
tile222
}
public static class PiecePositionExtension
{
public static PiecePosition FromTileIndex(this BoardLayout piece, int index)
{
string tmp = $"tile{index}";
object? result;
if (Enum.TryParse(typeof(PiecePosition), tmp, out result))
{
if (null != result)
{
return (PiecePosition)result;
}
}
throw new InvalidCastException($"Cannot cast tile index {index}");
}
}