public static Sprite[] GetPartSprites(PawnPart part, string groupName)
        {
            string resourceName = $"{part} Sprites";

            Sprite[] values = new Sprite[4];

            SpriteAtlas atlas = (SpriteAtlas)Get.m_Resources[ResourceType.Sprites].First(x => x.name.Equals(resourceName));

            Sprite[] sprites = new Sprite[atlas.spriteCount];
            atlas.GetSprites(sprites);

            sprites = System.Array.FindAll(sprites, x => x.name.Contains(groupName));
            for (int i = 0; i < values.Length; ++i)
            {
                PawnDirection dir = (PawnDirection)i;
#if UNITY_EDITOR
                string str = $"{dir}(Clone)";
#else
                string str = dir.ToString();
#endif
                var value = sprites.FirstOrDefault(x => x.name.EndsWith(str, System.StringComparison.OrdinalIgnoreCase));
                values[i] = value;
            }

            return(values);
        }
Example #2
0
    public Pawn(ChessBoard board, int x, int y, Team team) : base(board, x, y, team)
    {
        hasMoved = 0;
        promoted = null;

        if (team == Team.White)
        {
            direction = PawnDirection.UP;
        }
        else
        {
            direction = PawnDirection.DOWN;
        }

        SetPattern(out patterns);
    }
Example #3
0
 public Pawn(int col, int row, PawnDirection direction = PawnDirection.UP) : base(PieceType.PAWN, col, row)
 {
     Direction = direction;
 }