Some checks failed
check main state / build (9.0.x) (push) Has been cancelled
Ajout des données dynamiques au match
98 lines
1.5 KiB
C#
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}");
|
|
}
|
|
} |