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); }
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); }
public Pawn(int col, int row, PawnDirection direction = PawnDirection.UP) : base(PieceType.PAWN, col, row) { Direction = direction; }